/// <reference types="../../@mindfusion/controls" />
/// <reference types="../../@mindfusion/diagramming" />
/// <reference types="../../@mindfusion/common-ui" />
/// <reference types="../../@mindfusion/common-collections" />
/// <reference types="../../@mindfusion/drawing" />
declare module "Diagramming.Controls/Enum" {
    /**
     * Specifies the alignment of a tab strip relative to its container control.
     */
    export type TabAlignment = number;
    export namespace TabAlignment {
        const None: number;
        const Top: number;
        const Bottom: number;
    }
    export namespace AnchorType {
        const In: number;
        const Out: number;
        const BothWays: number;
    }
}
declare module "Diagramming.Controls/Events" {
    /**
    * @namespace MindFusion.Diagramming.Controls
    */
    /**
    * @class Defines all events raised by the controls in the MindFusion.Diagrammming.Controls namespace.
    */
    export class Events {
        /**
        * Raised before the selected page in a TabbedDiagramView control is changed.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageChanging(): string;
        /**
        * Raised when the selected page in a TabbedDiagramView control has changed.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageChanged(): string;
        /**
        * Raised before a page is added to a TabbedDiagramView control.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageAdding(): string;
        /**
        * Raised when a page has been added to a TabbedDiagramView control.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageAdded(): string;
        /**
        * Raised before a page is removed from a TabbedDiagramView control.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageRemoving(): string;
        /**
        * Raised when a page has been removed from a TabbedDiagramView control.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get pageRemoved(): string;
        /**
        * Raised when the shape drawing changes in a ShapeDesigner control.
        * @type {String}
        * @summary A string containing the event name.
        */
        static get shapeChanged(): string;
    }
}
declare module "Diagramming.Controls/EventArgs" {
    /**
    * @class Contains the arguments passed to handlers of page-related events in a TabbedDiagramView.
    * @augments CancelEventArgs
    */
    export class PageEventArgs extends CancelEventArgs {
        /**
        * Initializes a new instance of the PageEventArgs class.
        * @constructor
        * @param {Object} args
        */
        constructor(args: any);
        sender: any;
        _page: any;
        _oldPage: any;
        /**
        * Gets the page for which the event is raised.
        * @type {DiagramPage}
        * @summary A DiagramPage instance.
        */
        get page(): any;
        /**
        * Gets the page before the event.
        * @type {DiagramPage}
        * @summary A DiagramPage instance.
        */
        get oldPage(): any;
    }
    import { CancelEventArgs } from "@mindfusion/controls";
}
declare module "Diagramming.Controls/TabbedDiagramView" {
    /**
    * @class Represents a DiagramView that can display DiagramDocument objects.
    * The individual diagram pages can be activated through the tabs in the
    * tray located at one of the view sides.
    * @augments DiagramView
    */
    export class TabbedDiagramView extends DiagramView {
        /**
        * Creates and initializes a new TabbedDiagramView from the specified element.
        * This method is static and can be called without creating an instance of the class.
        * @param {HTMLCanvasElement} element The DOM element that the DiagramView should be attached to.
        * @param {DiagramDocument} [document] The DiagramDocument instance this control is associated with.
        * @returns {TabbedDiagramView} The newly created TabbedDiagramView object.
        */
        static create(element: HTMLCanvasElement, document?: DiagramDocument): TabbedDiagramView;
        /**
        * Returns the specified TabbedDiagramView object. This member is static and can be
        * invoked without creating an instance of the class.
        * @param {String} id The id of the TabbedDiagramView's element.
        * @returns {TabbedDiagramView} A TabbedDiagramView object with the specified id, if found; otherwise, null.
        */
        static find(id: string): TabbedDiagramView;
        /**
        * Initializes a new instance of the TabbedDiagramView class.
        * @constructor
        * @param {HTMLCanvasElement} element The Canvas DOM Element this TabbedDiagramView is associated with.
        * @param {DiagramDocument} [document] The DiagramDocument instance this control is associated with.
        */
        constructor(element: HTMLCanvasElement, document?: DiagramDocument);
        _tabAlignment: number;
        tabStrip: TabStrip;
        pageRenameStartHandler: (sender: any, args: any) => void;
        pageRenameEndHandler: (sender: any, args: any) => void;
        set tabsSize(arg: number);
        /**
        * Gets or sets the height of the tab strip.
        * @type {Number}
        * @summary The height.
        */
        get tabsSize(): number;
        _showTabCloseButtons: boolean;
        _showNavigationButtons: boolean;
        _allowRenamePages: boolean;
        documentChangedDelegate: (sender: any, args: any) => void;
        set document(arg: DiagramDocument);
        /**
        * Gets or sets the diagram document displayed by this view.
        * @type {DiagramDocument}
        * @summary The DiagramDocument instance displayed by this view.
        */
        get document(): DiagramDocument;
        _lastIndex: number;
        items: List<any>;
        _tabMouseDownHandler: (sender: any, args: any) => void;
        _tabDropHandler: (sender: any, args: any) => void;
        set selectedPage(arg: DiagramPage);
        /**
        * Gets or sets the currently selected tab page.
        * @type {DiagramPage}
        * @summary The selected diagram page.
        */
        get selectedPage(): DiagramPage;
        set tabAlignment(arg: number);
        /**
        * Gets or sets the tab alignment.
        * @type {TabAlignment}
        * @summary A member of the TabAlignment enumeration.
        */
        get tabAlignment(): number;
        set showNavigationButtons(arg: boolean);
        /**
        * Gets or sets a value indicating whether to show tab navigation buttons.
        * @type {Boolean}
        * @summary true if the tab navigation buttons are visible, or false otherwise.
        * The default value is false.
        */
        get showNavigationButtons(): boolean;
        set showAddButton(arg: boolean);
        /**
        * Gets or sets a value indicating whether to display the 'Add Tab' button.
        * @type {Boolean}
        * @summary true if the 'Add Tab' button is visible, or false otherwise.
        * The default value is false.
        */
        get showAddButton(): boolean;
        set showTabCloseButtons(arg: boolean);
        /**
        * Gets or sets a value indicating whether to display a close button for each tab.
        * @type {Boolean}
        * @summary true if the tabs close buttons are visible, or false otherwise.
        * The default value is false.
        */
        get showTabCloseButtons(): boolean;
        set allowReorder(arg: boolean);
        /**
        * Gets or sets a value indicating whether tabs can be rearranged interactively.
        * @type {Boolean}
        * @summary true if tabs can be rearranged interactively, or false otherwise. The default value is false.
        */
        get allowReorder(): boolean;
        set allowRenamePages(arg: boolean);
        /**
        * Gets or sets a value indicating whether DiagramPage titles can be renamed interactively.
        * @type {Boolean}
        * @summary true if tabs can be renamed interactively, or false otherwise. The default value is false.
        */
        get allowRenamePages(): boolean;
        set theme(arg: Theme);
        /**
        * Gets or sets the theme of the control.
        * @type {Theme}
        * @summary An instance of the Theme class.
        */
        get theme(): Theme;
        set selectedIndex(arg: number);
        /**
        * Gets or sets the index of the currently selected diagram page.
        * @type {Number}
        * @summary The index of the selected diagram page.
        */
        get selectedIndex(): number;
        resetTabAlignment(): void;
        resetTabs(): void;
        addPage(page: any): void;
        removePage(page: any): void;
        savePageState(page: any): void;
        restorePageState(page: any): void;
        onTabMouseDown(sender: any, args: any): void;
        onTabDrop(sender: any, args: any): void;
        _selectedPage: DiagramPage;
        /**
        * @private
        */
        private getItemByHeader;
        _document: any;
        _theme: any;
        set themesPath(arg: string);
        /**
        * Gets or sets the path to the control's css themes.
        * @type {String}
        * @summary A string specifying the path.
        * @remarks Only applies to web components.
        */
        get themesPath(): string;
        _themesPath: any;
        /**
       * Sets the current theme of the control and its pages.
       * @param {Theme} theme The theme.
       * @param {Boolean} [setToPages] true to set pages' themes, otherwise false.
       */
        setTheme(theme: Theme, setToPages?: boolean): void;
        onDocumentChanged(sender: any, args: any): void;
        onPageValidateAction(event: any, page: any, oldPage: any): boolean;
        onPageRenameStart(sender: any, args: any): void;
        inplaceController: any;
        inplaceHandler: () => void;
        onPageRenameEnd(sender: any, args: any): void;
        /**
        * Raised before the selected page is changed.
        * @event pageChanging
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageChanging(): EventDispatcher;
        _pageChanging: EventDispatcher;
        /**
        * Raised when the selected page is changed.
        * @event pageChanged
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageChanged(): EventDispatcher;
        _pageChanged: EventDispatcher;
        /**
        * Raised before a page is added.
        * @event pageAdding
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageAdding(): EventDispatcher;
        _pageAdding: EventDispatcher;
        /**
        * Raised when a page has been added.
        * @event pageAdded
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageAdded(): EventDispatcher;
        _pageAdded: EventDispatcher;
        /**
        * Raised before a page is removed.
        * @event pageRemoving
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageRemoving(): EventDispatcher;
        _pageRemoving: EventDispatcher;
        /**
        * Raised when a page has been removed.
        * @event pageRemoved
       * @type {EventDispatcher}
       * @property {TabbedDiagramView} sender
       * @property {PageEventArgs} args
        */
        get pageRemoved(): EventDispatcher;
        _pageRemoved: EventDispatcher;
    }
    import { DiagramView } from "@mindfusion/diagramming";
    import { TabStrip } from "@mindfusion/common-ui";
    import { DiagramDocument } from "@mindfusion/diagramming";
    import { List } from "@mindfusion/common-collections";
    import { DiagramPage } from "@mindfusion/diagramming";
    import { Theme } from "@mindfusion/diagramming";
    import { EventDispatcher } from "@mindfusion/controls";
}
declare module "Diagramming.Controls/WebComponents" {
    /**
    * @class Implements registration of web components.
    */
    export class WebComponents {
        /**
        * Registers the controls in the package as web components.
        */
        static register(): void;
    }
}
declare module "Diagramming.Controls/ShapeElements" {
    export class InteractiveElement {
        static get defaultSize(): Size;
        drawControlPoint(context: any, size: any, location: any, brush: any): void;
        get firstHandle(): number;
        get lastHandle(): number;
        saveState(): {
            strokeColor: any;
            strokeThickness: any;
            strokeDashStyle: any;
        };
        loadState(state: any): void;
        strokeColor: any;
        strokeThickness: any;
        strokeDashStyle: any;
        isDummy(): boolean;
    }
    export class LineBuilder extends InteractiveElement {
        static fromCenter(point: any): LineBuilder;
        static default(): LineBuilder;
        constructor(p1: any, p2: any);
        startPoint: any;
        endPoint: any;
        clone(): LineBuilder;
        get center(): any;
        distance(point: any): number;
        offset(point: any): void;
        orientate(from: any, to: any): void;
        scale(scale: any, center: any): void;
        toShape(): Shape;
        addToContext(context: any, startPath: any): void;
        draw(context: any, pen: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        hitTestHandle(point: any, maxDist: any): 1 | 0 | -1;
        updateFromHandle(handle: any, point: any): void;
        exportElement(startPath: any): string;
        exportShapeElement(): any[];
    }
    export class BezierBuilder extends InteractiveElement {
        static fromPoints(points: any): BezierBuilder;
        static fromCenter(point: any): BezierBuilder;
        static default(): BezierBuilder;
        constructor(x1: any, y1: any, x2: any, y2: any, x3: any, y3: any, x4: any, y4: any);
        points: Point[];
        clone(): BezierBuilder;
        get startPoint(): Point;
        get endPoint(): Point;
        get center(): Point;
        distance(point: any): number;
        offset(point: any): void;
        orientate(from: any, to: any): void;
        scale(scale: any, center: any): void;
        addToContext(context: any, startPath: any): void;
        draw(context: any, pen: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        hitTestHandle(point: any, maxDist: any): number;
        updateFromHandle(handle: any, point: any): void;
        toShape(): Shape;
        exportElement(startPath: any): string;
        exportShapeElement(): any[];
    }
    export class ArcBuilder extends InteractiveElement {
        static fromPoints(p1: any, p2: any, p3: any): ArcBuilder;
        static fromCenter(point: any): ArcBuilder;
        static default(): ArcBuilder;
        constructor(x: any, y: any, radius: any, startAngle: any, endAngle: any, anticlockwise: any);
        startPoint: any;
        endPoint: any;
        controlPoint: any;
        clone(): ArcBuilder;
        get center(): Point;
        distance(point: any): any;
        offset(point: any): void;
        orientate(from: any, to: any): void;
        scale(scale: any, center: any): void;
        addToContext(context: any): void;
        draw(context: any, pen: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        hitTestHandle(point: any, maxDist: any): 1 | 0 | 2 | -1;
        calcCenter(): Point;
        updateFromHandle(handle: any, point: any): void;
        toShape(): Shape;
        exportElement(): string;
        exportShapeElement(): any[];
    }
    export class RoundRectBuilder extends InteractiveElement {
        static fromPoints(p1: any, p2: any): RoundRectBuilder;
        static fromCenter(point: any): RoundRectBuilder;
        static fromBounds(bounds: any): RoundRectBuilder;
        static default(): RoundRectBuilder;
        constructor(x1: any, y1: any, x2: any, y2: any, cornerRadius: any);
        topLeft: Point;
        bottomRight: Point;
        cornerRadius: any;
        clone(): RoundRectBuilder;
        get startPoint(): Point;
        get endPoint(): Point;
        get center(): any;
        distance(point: any): number;
        offset(point: any): void;
        orientate(from: any, to: any): void;
        scale(scale: any, center: any): void;
        draw(context: any, pen: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        hitTestHandle(point: any, maxDist: any): 1 | 0 | -1;
        updateFromHandle(handle: any, point: any): void;
        toShape(): Shape;
        exportElement(startPath: any): string;
        exportShapeElement(): any[];
    }
    export class Composite {
        static fromCenter(point: any, type: any): Composite;
        static fromBounds(bounds: any, type: any): Composite;
        constructor(type: any, bounds: any);
        type: any;
        bounds: any;
        clone(): Composite;
        getElements(bounds: any): LineBuilder[] | ArcBuilder[];
    }
    export class Command {
        constructor(type: any, dropLocation: any, hitElement: any, element: any, elementIndex: any, outline: any, filledDecoration: any);
        type: any;
        states: Map<any, any>;
        newStates: Map<any, any>;
        dropLocation: any;
        hitElement: any;
        element: any;
        elementIndex: any;
        outline: any;
        filledDecoration: any;
        registerElement(element: any): void;
        execute(canvas: any): void;
        newDecoration: FilledDecorationBuilder;
        oldOutline: any;
        newOutline: any;
        nextState: any;
        prevState: any;
        target: any;
        drawHighlight(context: any): void;
        undo(canvas: any): void;
        redo(canvas: any): void;
        removeElements(array: any, elements: any): void;
    }
    export class FilledDecorationBuilder extends InteractiveElement {
        constructor(outline: any);
        outline: any;
        fillColor: string;
        set bounds(arg: any);
        get bounds(): any;
        _bounds: any;
        draw(context: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        distance(point: any): any;
        hitTestHandle(point: any, maxDist: any): 1 | 0 | -1;
        get center(): Point;
        exportElement(): {
            path: string;
        };
        exportShapeElement(): any;
        getElements(bounds: any): any[];
    }
    export class AnchorPointBuilder extends InteractiveElement {
        static fromPoint(point: any): AnchorPointBuilder;
        static default(type: any): AnchorPointBuilder;
        constructor(x: any, y: any, type: any, style: any, size: any, color: any);
        center: Point;
        style: any;
        size: any;
        anchorSize: number;
        anchorType: any;
        clone(): AnchorPointBuilder;
        distance(point: any): any;
        offset(point: any): void;
        setCenter(point: any): void;
        toShape(): Shape;
        draw(context: any, pen: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        hitTestHandle(point: any, maxDist: any): 0 | -1;
        updateFromHandle(handle: any, point: any): void;
        exportElement(startPath: any): string;
    }
    export class TextAreaBuilder extends InteractiveElement {
        static default(): TextAreaBuilder;
        constructor(outline: any);
        outline: any;
        set bounds(arg: any);
        get bounds(): any;
        _bounds: any;
        draw(context: any): void;
        drawControlPoints(context: any, size: any, brush: any): void;
        distance(point: any): any;
        hitTestHandle(point: any, maxDist: any): 1 | 0 | -1;
        get center(): Point;
        exportElement(): {
            path: string;
        };
        exportShapeElement(): any;
        getElements(bounds: any): any[];
    }
    import { Size } from "@mindfusion/drawing";
    import { Shape } from "@mindfusion/diagramming";
    import { Point } from "@mindfusion/drawing";
}
declare module "Diagramming.Controls/ShapeBuilder" {
    export class ShapeBuilder {
        constructor(shape: any, offset: any);
        outline: any[];
        decorations: any[];
        filledDecorations: any[];
        anchorPoints: any[];
        shape: any;
        offset: any;
        draw(context: any): void;
        parseShape(): void;
        textArea: TextAreaBuilder;
        createBuilders(commands: any): any[];
        lastPoint: any;
        createBuilder(command: any): any;
        exportShape(shapeId: any): Shape;
        exportElements(elementBuilders: any, merge: any, array: any): string | any[];
        exportShapeElements(elementBuilders: any, array: any): any[];
        useTextArea(): any;
        allElements(): any[];
        nearestElement(point: any, maxDist: any, elements: any): any;
        hitTestDropTarget(point: any, newElement: any): Command;
        hitTestOutlineTarget(outline: any, point: any, newElement: any): Command;
        hitTest(point: any, activeElement: any): ElementController;
        hitTestOutline(outline: any, child: any, point: any, filledDecoration: any): ElementController;
    }
    import { TextAreaBuilder } from "Diagramming.Controls/ShapeElements";
    import { Shape } from "@mindfusion/diagramming";
    import { Command } from "Diagramming.Controls/ShapeElements";
    class ElementController {
        constructor(type: any, element: any, handle: any, filledDecoration: any, adjacent: any, adjacentHandle: any);
        type: any;
        element: any;
        handle: any;
        filledDecoration: any;
        adjacent: any;
        adjacentHandle: any;
        changeCommand: Command;
        center: any;
        currentScale: number;
        onMouseDown(point: any): void;
        hasMoved: boolean;
        previousPosition: any;
        initialDistance: any;
        onMouseMove(point: any): void;
        onMouseUp(point: any): void;
    }
    export {};
}
declare module "Diagramming.Controls/ShapeCanvas" {
    export class ShapeCanvas extends Diagram {
        shapeSize: number;
        selectedHandlesBrush: string;
        pointedHandlesBrush: string;
        clearOutline(filledDecoration: any): any;
        removeFromOutline(outline: any, element: any): {
            index: number;
            prevState?: undefined;
            nextState?: undefined;
        } | {
            index: any;
            prevState: any;
            nextState: any;
        };
        set selectedElement(arg: any);
        get selectedElement(): any;
        _selectedElement: any;
        pointedElement: any;
        set shapeBuilder(arg: any);
        get shapeBuilder(): any;
        _shapeBuilder: any;
        get handlesSize(): number;
    }
    import { Diagram } from "@mindfusion/diagramming";
}
declare module "Diagramming.Controls/ShapeView" {
    export class ShapeView extends DiagramView {
        /**
        * Creates and initializes a new ShapeDesigner from the specified element.
        * This method is static and can be called without creating an instance of the class.
        * @param {HTMLCanvasElement} element The DOM element that the DiagramView should be attached to.
        * @param {DiagramDocument} [document] The DiagramDocument instance this control is associated with.
        * @returns {ShapeDesigner} The newly created ShapeDesigner object.
        */
        static create(element: HTMLCanvasElement, document?: DiagramDocument): any;
        constructor(element: any);
        undoHistory: any[];
        currentCommand: number;
        offset: Point;
        onElementDrag(element: any, position: any): void;
        onElementDrop(element: any): void;
        onPointerDown(position: any, button: any, id: any): void;
        controller: any;
        onPointerMove(position: any, id: any): Promise<void>;
        set pointedElement(arg: any);
        get pointedElement(): any;
        onPointerUp(position: any, button: any, id: any): Promise<void>;
        set selectedElement(arg: any);
        get selectedElement(): any;
        onKeyUp(target: any, keyCode: any, recorded: any, value: any): Promise<void>;
        removeElement(element: any): void;
        saveCommand(command: any): void;
        undo(): void;
        fromCommand: boolean;
        redo(): void;
        importShape(shape: any): void;
        alignPointToGrid(point: any): Point;
    }
    import { DiagramView } from "@mindfusion/diagramming";
    import { Point } from "@mindfusion/drawing";
    import { DiagramDocument } from "@mindfusion/diagramming";
}
declare module "Diagramming.Controls/ShapePalette" {
    export class ShapePalette extends NodeListView {
        static create(element: any): any;
        constructor(element: any);
        templatesLabel: string;
        primitivesLabel: string;
        anchorPointsLabel: string;
        labelBrush: string;
        fillShapes(): void;
        _draggedNode: any;
    }
    import { NodeListView } from "@mindfusion/diagramming";
}
declare module "Diagramming.Controls/ShapeDesigner" {
    /**
    * @class Represents an interactive vector-drawing control that can be used to design node shapes.
    */
    export class ShapeDesigner extends Control {
        /**
        * Creates and initializes a new ShapeDesigner from the specified element.
        * This method is static and can be called without creating an instance of the class.
        * @param {HTMLDivElement} element The DOM element that the ShapeDesigner should be attached to.
        * @returns {ShapeDesigner} The newly created ShapeDesigner object.
        */
        static create(element: HTMLDivElement): ShapeDesigner;
        /**
        * Initializes a new instance of the ShapeDesigner class.
        * @constructor
        * @param {HTMLDivElement} element The DOM Element this ShapeDesigner is associated with.
        */
        constructor(element: HTMLDivElement);
        view: any;
        palette: any;
        propertyPanel: Window;
        set showShapeProperties(arg: boolean);
        /**
        * Gets or sets a value indicating whether to display the property panel.
        * @type {Boolean}
        * @summary true to display the property panel, or false otherwise.
        * The default value is true.
        */
        get showShapeProperties(): boolean;
        getContent(): HTMLElement;
        generatePropertyPanelTemplate(): string;
        rebindPropertyPanel(element: any): void;
        setProp(e: any): void;
        /**
        * Imports a Shape into the designer's drawing canvas.
        * @param {Shape} shape A Shape instance.
        */
        importShape(shape: any): void;
        set selectedElement(arg: InteractiveElement);
        /**
        * Gets or sets the selected element in the shape designer.
        * @type {InteractiveElement}
        * @summary An InteractiveElement instance.
        */
        get selectedElement(): InteractiveElement;
        /**
        * Creates a new Shape from the current content of the design canvas.
        * @param {String} shapeId The shape's string identifier.
        */
        exportShape(shapeId: string): any;
        /**
        * Undoes the most recent user action.
        */
        undo(): void;
        /**
        * Executes again the most recently undone user action.
        */
        redo(): void;
        removeElement(element: any): void;
        /**
        * Copies the currently selected element to the clipboard.
        */
        copyToClipboard(): void;
        /**
        * Pastes a previously copied element from the clipboard.
        */
        pasteFromClipboard(offsetX: any, offsetY: any): void;
        refresh(): void;
        _showShapeProperties: any;
        set showTextArea(arg: boolean);
        /**
        * Gets or sets a value indicating whether to display the shape's text area.
        * @type {Boolean}
        * @summary true to display the text area, or false otherwise.
        * The default value is false.
        */
        get showTextArea(): boolean;
        set templatesLabel(arg: string);
        /**
        * Gets or sets a string specifying the label of outline templates category in shape designer toolbox.
        * @type {String}
        * @summary The label of outline templates category.
        */
        get templatesLabel(): string;
        set primitivesLabel(arg: string);
        /**
        * Gets or sets a string specifying the label of graphic primitives category in shape designer toolbox.
        * @type {String}
        * @summary The label of graphic primitives category.
        */
        get primitivesLabel(): string;
        set anchorPointsLabel(arg: string);
        /**
        * Gets or sets a string specifying the label of graphic AnchorPoints category in shape designer toolbox.
        * @type {String}
        * @summary The label of graphic AnchorPoints category.
        */
        get anchorPointsLabel(): string;
        set showGrid(arg: boolean);
        /**
        * Gets or sets a value indicating whether the alignment grid is visible.
        * @type {Boolean}
        * @summary true if the alignment grid is visible, or false otherwise.
        */
        get showGrid(): boolean;
        set alignToGrid(arg: boolean);
        /**
        * Gets or sets a value indicating whether the diagram items should be aligned to a grid.
        * @type {Boolean}
        * @summary true if the diagram items should be aligned to a grid, or false otherwise.
        */
        get alignToGrid(): boolean;
        set gridSizeX(arg: number);
        /**
        * Gets or sets the horizontal distance between adjacent grid points.
        * @type {Number}
        * @summary The horizontal distance between adjacent grid points.
        */
        get gridSizeX(): number;
        set gridSizeY(arg: number);
        /**
        * Gets or sets the vertical distance between adjacent grid points.
        * @type {Number}
        * @summary The vertical distance between adjacent grid points.
        */
        get gridSizeY(): number;
        set theme(arg: Theme);
        /**
        * Gets or sets the theme of the control.
        * @type {Theme}
        * @summary An instance of the Theme class.
        */
        get theme(): Theme;
        _theme: any;
        set themesPath(arg: string);
        /**
        * Gets or sets the path to the control's css themes.
        * @type {String}
        * @summary A string specifying the path.
        * @remarks Only applies to web components.
        */
        get themesPath(): string;
        _themesPath: any;
        /**
        * Raised when the shape has changed.
        * @event shapeChanged
       * @type {EventDispatcher}
       * @property {ShapeDesigner} sender
       * @property {EventArgs} args
        */
        get shapeChanged(): EventDispatcher;
        _shapeChanged: EventDispatcher;
        connectedCallback(): void;
    }
    import { Control } from "@mindfusion/controls";
    import { Window } from "@mindfusion/common-ui";
    import { InteractiveElement } from "Diagramming.Controls/ShapeElements";
    import { Theme } from "@mindfusion/diagramming";
    import { EventDispatcher } from "@mindfusion/controls";
}
declare module "Diagramming.Controls/Palette" {
    /**
    * @class Represents a tool palette control that displays DiagramItem objects grouped
    * into categories. Items from the palette can be added to a diagram by drag-and-drop.
    * @augments Accordion
    */
    export class Palette extends Accordion {
        /**
        * Creates and initializes a new Palette from the specified element.
        * This method is static and can be called without creating an instance of the class.
        * @param {HTMLDivElement} element The DOM element that the Palette should be attached to.
        * @returns {Palette} The newly created Palette object.
        */
        static create(element: HTMLDivElement): Palette;
        /**
        * Returns the specified Palette object. This member is static and can be
        * invoked without creating an instance of the class.
        * @param {String} id The id of the Palette's element.
        * @returns {Palette} A Palette object with the specified id, if found; otherwise, null.
        */
        static find(id: string): Palette;
        /**
        * Initializes a new instance of the Palette class.
        * @constructor
        * @param {HTMLDivElement} element The DOM Element this Palette is associated with.
        */
        constructor(element: HTMLDivElement);
        _measureUnit: number;
        _columns: number;
        _labelPosition: number;
        _padding: number;
        _iconSize: Size;
        _newInstanceSize: Size;
        _textColor: string;
        _captionFont: Font;
        _controls: Map<any, any>;
        req: () => boolean;
        itemSelectedDelegate: (sender: any, args: any) => void;
        updateSizeDelegate: (sender: any, args: any) => void;
        set columns(arg: number);
        /**
        * Gets or sets the number of columns in palette's layout.
        * @type {Number}
        * @summary An integer value specifying the number of columns.
        */
        get columns(): number;
        set labelPosition(arg: number);
        /**
        * Gets or sets a value indicating the position of labels relative to item icons.
        * @type {LabelPosition}
        * @summary A member of the LabelPosition enumeration.
        */
        get labelPosition(): number;
        set iconSize(arg: Size);
        /**
        * Gets or sets the size of items displayed in the palette.
        * @type {Size}
        * @summary An instance of the Size class specifying item size.
        */
        get iconSize(): Size;
        set newInstanceSize(arg: Size);
        /**
        * Gets or sets the default size of items created by drag-and-drop from this palette.
        * @type {Size}
        * @summary An instance of the Size class specifying item size.
        */
        get newInstanceSize(): Size;
        set padding(arg: number);
        /**
        * Gets or sets the padding space between item's slot bounds and its contents.
        * @type {Number}
        * @summary A number that specifies the padding space size.
        */
        get padding(): number;
        set measureUnit(arg: GraphicsUnit);
        /**
        * Gets or sets the unit of measure used to specify item sizes.
        * @type {GraphicsUnit}
        * @summary A GraphicsUnit instance.
        */
        get measureUnit(): GraphicsUnit;
        set backColor(arg: string);
        /**
        * Gets or sets the background color of the control.
        * @type {String}
        * @summary A string specifying the color name or hexadecimal value.
        */
        get backColor(): string;
        set textColor(arg: string);
        /**
        * Gets or sets the color used to paint item captions.
        * @type {String}
        * @summary A string specifying the color name or hexadecimal value.
        */
        get textColor(): string;
        set captionFont(arg: Font);
        /**
        * Gets or sets the font used for item captions.
        * @type {Font}
        * @summary An instance of the Font class.
        */
        get captionFont(): Font;
        set minVisibleFontSize(arg: number);
        /**
        * Gets or sets a threshold value that hides text if scaled font sizes become smaller.
        * @type {Number}
        * @summary A value specifying the smallest visible font size.
        */
        get minVisibleFontSize(): number;
        onUpdateSize(control: any): void;
        /**
        * Adds a new category to the palette.
        * @param {String} title The title text of the category.
        * @param {String} [image] The URL of an image to be displayed in the category header.
        */
        addCategory(title: string, image?: string): AccordionItem;
        /**
        * Removes a category from the control.
        * @param {String} title The title of the category to remove.
        */
        removeCategory(title: string): void;
        /**
        * Adds an item to the control.
        * @param {DiagramItem} item The item to add.
        * @param {String} category The category of the item.
        * @param {String} [caption] The caption to display for the item.
        */
        addItem(item: any, category: string, caption?: string): void;
        /**
        * Removes an item from the control.
        * @param {DiagramItem} item The item to remove.
        */
        removeItem(item: any): void;
        /**
        * Removes all items from the palette.
        */
        clearAll(): void;
        set shapeLibraryLocation(arg: string);
        /**
        * Gets the location of a shape library file containing custom shape definitions.
        * @type {String}
        * @summary URL of a shape library file containing custom shape definitions.
        */
        get shapeLibraryLocation(): string;
        _shapeLibraryLocation: any;
        _backColor: any;
        _minVisibleFontSize: any;
        /**
        * Raised when a node is selected, either programmatically or by the user.
        * @event nodeSelected
        * @type {EventDispatcher}
        * @property {Palette} sender
        * @property {NodeEventArgs} args
        */
        get nodeSelected(): EventDispatcher;
        _nodeSelected: EventDispatcher;
        /**
        * Raised when a link is selected, either programmatically or by the user.
        * @event linkSelected
       * @type {EventDispatcher}
       * @property {Palette} sender
       * @property {LinkEventArgs} args
        */
        get linkSelected(): EventDispatcher;
        _linkSelected: EventDispatcher;
        onItemSelected(sender: any, args: any): void;
    }
    import { Accordion } from "@mindfusion/common-ui";
    import { Size } from "@mindfusion/drawing";
    import { Font } from "@mindfusion/drawing";
    import { GraphicsUnit } from "@mindfusion/drawing";
    import { AccordionItem } from "@mindfusion/common-ui";
    import { EventDispatcher } from "@mindfusion/controls";
}
declare module "@mindfusion/diagramming-controls" {
    export { TabAlignment } from "Diagramming.Controls/Enum";
    export { Events } from "Diagramming.Controls/Events";
    export { PageEventArgs } from "Diagramming.Controls/EventArgs";
    export { TabbedDiagramView } from "Diagramming.Controls/TabbedDiagramView";
    export { WebComponents } from "Diagramming.Controls/WebComponents";
    export { ShapeDesigner } from "Diagramming.Controls/ShapeDesigner";
    export { Palette } from "Diagramming.Controls/Palette";
}
