declare namespace PDJS {
    interface IAjaxEventArgs {
        xhr: JQueryXHR;
        settings: any;
        status: string;
    }
    interface JQueryXHRExtended extends JQueryXHR {
        suppressEvent: boolean;
        errorHandled: boolean;
    }
    interface IAjaxOptions extends JQueryAjaxSettings {
        [key: string]: any;
    }
    class Ajax {
        private static _onBeforeSend;
        private static _onSuccess;
        private static _onError;
        private static _onComplete;
        static onBeforeSend(callback: (e: IAjaxEventArgs) => any): void;
        static onSuccess(callback: (e: IAjaxEventArgs) => any): void;
        static onError(callback: (e: IAjaxEventArgs) => any): void;
        static onComplete(callback: (e: IAjaxEventArgs) => any): void;
        static call(options: IAjaxOptions): JQueryXHR;
    }
}
declare namespace PDJS {
    interface IAjaxErrorHandlerOptions {
        config: any;
        jqXHR: JQueryXHR;
    }
    class AjaxErrorHandler {
        private _options;
        private _context;
        private _data;
        constructor(options: any);
        private get options();
        private get context();
        private parseData;
        private notify;
        private hasFieldErrors;
        private hasContext;
        private hasContainer;
        private hasControl;
        private isRedirect;
        private isHeaderError;
        private showErrorsDialog;
        private showCatchAllErrorDialog;
    }
}
declare namespace PDJS {
    interface IApplicationOptions extends Jade.IApplicationOptions {
        applicationId: string;
    }
    class Application extends Jade.Application {
        private m_startUpData;
        constructor(options: IApplicationOptions);
        static get instance(): Application;
        get databaseId(): string;
        get isLocalAuth(): boolean;
        protected onInit(options: IApplicationOptions): void;
    }
}
declare namespace PDJS {
    class JS {
        static get ProspectDirector(): any;
        static get PD(): any;
        static get Plugins(): any;
    }
}
declare namespace PDJS {
    class StartUp {
        private static m_moduleName;
        private static m_virtualDirectory;
        private static get moduleName();
        private static set moduleName(value);
        private static get virtualDirectory();
        private static set virtualDirectory(value);
        private static start;
        private static startEnvironment;
        private static startProspectDirector;
        private static startPD;
        private static startPDJS;
        static startHub(virtualDirectory: string, success: Function, failure: Function): void;
        static startManage(virtualDirectory: string, success: Function, failure: Function): void;
        private static renderContent;
    }
}
declare namespace plupload {
    enum UploaderEvent {
        BeforeUpload = "BeforeUpload",
        Browse = "Browse",
        ChunkUploaded = "ChunkUploaded",
        Destroy = "Destroy",
        Error = "Error",
        FileFiltered = "FileFiltered",
        FilesAdded = "FilesAdded",
        FilesRemoved = "FilesRemoved",
        FileUploaded = "FileUploaded",
        FileRemoved = "FileRemoved",
        UploadProgress = "UploadProgress",
        UploadComplete = "UploadComplete",
        QueueChanged = "QueueChanged",
        StateChanged = "StateChanged"
    }
    enum FileStatus {
        QUEUED = 1,
        UPLOADING = 2,
        FAILED = 4,
        DONE = 5
    }
    enum UploaderState {
        STARTED = 1,
        STOPPED = 2
    }
    interface File {
        id: string;
        name: string;
        type: string;
        origSize: number;
        size: number;
        loaded: number;
        percent: number;
        status: FileStatus;
        target_name: string;
    }
    interface IUploader {
        get state(): UploaderState;
        get files(): Array<any>;
        get total(): any;
        bind(event: UploaderEvent, handler: Function): void;
        start(): void;
        stop(): void;
        init(): void;
        refresh(): void;
        removeFile(file: any): any;
    }
}
declare namespace PDJS.Canvas {
}
declare namespace PDJS.Canvas.Actual {
    interface ICanvasRefreshArgs {
        document?: any;
        validationErrors: {
            [key: string]: string;
        };
    }
    class CanvasRefresh {
        static validate(e: ICanvasRefreshArgs): void;
        static populate(e: ICanvasRefreshArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual {
    interface ICanvasViewBoxOptions extends Jade.UI.IControlOptions {
        createContext?: boolean;
        documentId: string;
        documentState?: any;
        entityId: number;
        rowIds?: Array<number>;
    }
    class CanvasViewBox extends Jade.UI.Control {
        private m_document;
        constructor(options: ICanvasViewBoxOptions);
        private get createContext();
        get document(): DocumentView;
        private get documentId();
        private get documentState();
        private get entityId();
        private get rowIds();
        get hasChanges(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected requestDocument(): void;
        protected loadDocument(state: any): void;
    }
}
declare namespace PDJS.Canvas.Actual {
    class CanvasViewBoxOnCreate extends Jade.UI.Control {
        get documentState(): any;
        get document(): any;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        getDocumentJSON(): any;
    }
}
declare namespace PDJS.Canvas.Actual {
    enum CssClass {
        ElementError = "-pdjs-element-actual-error"
    }
}
declare namespace PDJS.Canvas.Actual {
    interface IDocumentViewOptions extends CanvasJS.IDocumentViewOptions<Core.Documents.ActualDocument> {
        documentId?: string;
        canvasTypeId?: string;
        entityId?: number;
        fileId?: number;
        extensionId?: number;
        rowIds?: Array<number>;
    }
    class DocumentView extends CanvasJS.Actual.DocumentActualViewBase<Core.Documents.ActualDocument> {
        constructor(options: IDocumentViewOptions);
        get entityId(): number;
        protected onStateChanged(): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual {
    class ElementFocus {
        static setDefaultFocus(document: DocumentView): void;
    }
}
declare namespace PDJS.Canvas.Actual {
    class ElementView extends CanvasJS.Actual.ElementActualViewBase<CanvasJS.ElementModel> {
    }
    class ElementViewBase<T extends Core.ElementModel> extends ElementView {
        get source(): T;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual {
    interface IElementViewErrorOptions extends Jade.UI.IControlOptions {
        componentName?: string;
        errors: Array<CanvasJS.IElementError>;
        height: number;
        width: number;
    }
    class ElementViewError extends Jade.UI.Control {
        constructor(options: IElementViewErrorOptions);
        private get errors();
        private get componentName();
        private get messageNode();
        private get height();
        private get width();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private getIcon;
        private getErrorMessage;
        private getLabelContent;
    }
}
declare namespace PDJS.Canvas.Actual.Charts {
    class Chart extends ElementViewBase<Canvas.Core.Charts.Chart> {
        private m_kendo;
        private m_menu;
        private m_message;
        private m_informationBar;
        protected get kendo(): kendo.dataviz.ui.Chart;
        protected set kendo(value: kendo.dataviz.ui.Chart);
        get chartNode(): JQuery;
        template(): string | string[] | JQuery;
        refresh(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onBrowserResize(): void;
        protected onStateChanged(): void;
        private getChartOptions;
        private getChartHeight;
        private hideLoadingMessage;
        private showLoadingMessage;
        private menu_init;
        private informationBar_init;
    }
}
declare namespace PDJS.Canvas.Core {
    interface IFocusable {
        focus: () => void;
        acceptsFocus: boolean;
    }
    class IFocusableGuard extends Jade.InterfaceGuard {
        get signature(): Jade.IInterfaceSignature;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class Button extends ElementViewBase<PDJS.Canvas.Core.Common.Button> implements Core.IFocusable {
        get buttonNode(): JQuery;
        get acceptsFocus(): boolean;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onClick(e: JQueryEventObject): void;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class Hyperlink extends ElementViewBase<PDJS.Canvas.Core.Common.Hyperlink> implements Core.IFocusable {
        get linkNode(): JQuery;
        get acceptsFocus(): boolean;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onClick(e: JQueryEventObject): void;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class ImageButton extends ElementViewBase<PDJS.Canvas.Core.Common.ImageButton> {
        get imageNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onClick(e: JQueryEventObject): void;
        private getImageUrl;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class Markup extends ElementViewBase<PDJS.Canvas.Core.Common.Markup> {
        get contentNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class Report extends ElementViewBase<Core.Common.Report> {
        private m_message;
        private m_menu;
        private m_informationBar;
        private get reportNode();
        private get iframeNode();
        private get iframeID();
        private get iframeElement();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        protected onStateChanged(): void;
        private loadReport;
        private hideLoadingMessage;
        private showLoadingMessage;
        private menu_init;
        private informationBar_init;
    }
}
declare namespace PDJS.Canvas.Actual.Common {
    class Text extends ElementViewBase<Core.Common.Text> {
        get contentNode(): JQuery;
        get containerNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    abstract class FormElementBase<T extends PDJS.Canvas.Core.Forms.FormElement> extends ElementViewBase<T> implements Core.IFocusable {
        constructor(options: CanvasJS.IElementViewOptions<T>);
        get formId(): string;
        abstract get acceptsFocus(): boolean;
        abstract focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    interface IFormSubmitArgs {
        document: PDJS.Canvas.Actual.DocumentView;
        buttonId: string;
        formId: string;
        extensionId?: number;
        rowIds?: Array<number>;
    }
    class Form {
        static submit(args: IFormSubmitArgs): void;
        private static getFormButtons;
        private static setButtonsEnabled;
        private static resetFormFieldValueChangedState;
        private static reloadElementStatesAfterPost;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class FormButton extends FormElementBase<PDJS.Canvas.Core.Forms.FormButton> {
        get buttonNode(): JQuery;
        get acceptsFocus(): boolean;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        private onClick;
        private signalSubmit;
        private submit;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class FormField extends FormElementBase<Core.Forms.FormField> {
        private m_deck;
        private m_validationErrors;
        get formId(): string;
        get validationErrors(): Jade.ObservableCollection<string>;
        get labelNode(): JQuery;
        protected get controlNode(): JQuery;
        protected get deck(): FormFieldDeck;
        protected get formFieldNode(): JQuery;
        get acceptsFocus(): boolean;
        focus(): void;
        onSubmit(): void;
        template(): string | Array<string> | JQuery;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected onValidationErrorChange(): void;
        private deck_init;
    }
    abstract class FormFieldBase<T extends Core.Forms.FormField> extends FormField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    abstract class BuiltInField extends FormFieldBase<Core.Forms.BuiltInField> {
    }
    abstract class BuildInFieldBase<T extends Core.Forms.BuiltInField> extends BuiltInField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    abstract class ExtensionField extends FormFieldBase<Core.Forms.ExtensionField> {
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
    abstract class ExtensionFieldBase<T extends Core.Forms.ExtensionField> extends ExtensionField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityDescriptionField extends BuildInFieldBase<Core.Forms.EntityDescriptionField> {
        private get inputNode();
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        focus(): void;
        private input_onBlur;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityIconField extends BuildInFieldBase<Core.Forms.EntityIconField> {
        private m_comboBox;
        private get comboBox();
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityNameField extends BuildInFieldBase<Core.Forms.EntityNameField> {
        private get inputNode();
        focus(): void;
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private input_onBlur;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityParentField extends BuildInFieldBase<Core.Forms.EntityParentField> {
        static PARENT_CHANGED_EVENT: string;
        private m_navigate;
        private m_comboBox;
        private get comboBox();
        private get navigate();
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
        private navigate_init;
        private publishEntityParentChangedEvent;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityProcessField extends BuildInFieldBase<Core.Forms.EntityProcessField> {
        private m_assignment;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class BooleanField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.BooleanField> {
        get itemLabelNode(): JQuery;
        get checkboxNode(): JQuery;
        focus(): void;
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class DateField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.DateField> {
        private m_dateTextBox;
        get format(): string;
        focus(): void;
        onSubmit(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class DecimalField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.DecimalField> {
        private m_numericTextBox;
        private get textBox();
        focus(): void;
        onSubmit(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class EntityField extends ExtensionFieldBase<Core.Forms.EntityField> {
        private m_navigate;
        private m_comboBox;
        private get comboBox();
        private get navigate();
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
        private navigate_init;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class Int32Field extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.Int32Field> {
        private m_numericTextBox;
        get format(): string;
        protected get originalValue(): any;
        protected set originalValue(value: any);
        focus(): void;
        onSubmit(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class Int64Field extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.Int64Field> {
        private m_numericTextBox;
        focus(): void;
        onSubmit(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class MultiSelectField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.MultiSelectField> {
        private m_multiSelect;
        private get multiSelect();
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private init_multiSelect;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class SingleSelectField extends ExtensionFieldBase<Core.Forms.SingleSelectField> {
        private m_comboBox;
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class StringField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.StringField> {
        private get inputNode();
        private get textareaNode();
        private get textNode();
        focus(): void;
        onAttach(e: Jade.UI.ControlEventArgs): void;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        onSubmit(): void;
        protected onStateChanged(): void;
        private input_onBlur;
        private input_onFocus;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class UserField extends ExtensionFieldBase<Core.Forms.UserField> {
        private m_comboBox;
        private get comboBox();
        focus(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    enum FormFieldAnimationType {
        none = "",
        pending = "-pdjs-form-submit-pending",
        error = "-pdjs-form-submit-error",
        success = "-pdjs-form-submit-success"
    }
    class FormFieldAnimation {
        static start(formId: string, autoStop: number, animation?: FormFieldAnimationType): void;
        static stop(formId: string, animation?: FormFieldAnimationType): void;
        private static iterateFormFields;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class FormFieldDeckItem extends Jade.UI.Control {
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    interface IExtensionFieldBatchEditOptions extends Jade.UI.IControlOptions {
        extensionField: ExtensionField;
    }
    class FormFieldBatchEdit extends FormFieldDeckItem {
        constructor(options: IExtensionFieldBatchEditOptions);
        get extensionField(): ExtensionField;
        get checkBoxNode(): JQuery;
        get inBatch(): boolean;
        private get isVisible();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private checkBox_onClick;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    interface IFormFieldDeckOptions extends Jade.UI.IControlOptions {
    }
    class FormFieldDeck extends Jade.UI.Control {
        constructor(options: IFormFieldDeckOptions);
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    interface IFormFieldToolTipOptions extends Jade.UI.IControlOptions {
        formField: FormField;
    }
    class FormFieldToolTip extends FormFieldDeckItem {
        constructor(options: IFormFieldToolTipOptions);
        get formField(): FormField;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    class FormFieldValidation {
        static start(formId: string, autoStop: number, animation?: FormFieldAnimationType): void;
        static stop(formId: string, animation?: FormFieldAnimationType): void;
        private static iterateFormFields;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    abstract class BatchField extends FormFieldBase<Core.Forms.BatchField> {
        private m_batch;
        get batch(): PDJS.Shared.UI.Controls.BatchField;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        focus(): void;
        protected onStateChanged(): void;
        private batch_init;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    interface IBatchFieldDialogOptions extends Jade.UI.IDialogOptions {
        filters?: Array<PDJS.Core.Views.EntityFilter>;
        viewStateId: string;
    }
    interface IBatchFieldDialogItem {
        id: number;
        name: string;
        type: number;
    }
    interface IBatchFieldDialogResult extends Array<IBatchFieldDialogItem> {
    }
    class BatchFieldDialog extends Jade.UI.Dialog {
        private m_grid;
        private get filters();
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selections();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        static open(options: IBatchFieldDialogOptions, windowOptions?: any): BatchFieldDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
    }
}
declare namespace PDJS.Canvas.Actual.Forms {
    abstract class TextField extends FormFieldBase<Core.Forms.TextField> {
        private get inputNode();
        onAttach(e: Jade.UI.ControlEventArgs): void;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        focus(): void;
        protected onStateChanged(): void;
        private createInput;
        onSubmit(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Process {
    class DecisionButton extends ElementViewBase<PDJS.Canvas.Core.Process.DecisionButton> implements Core.IFocusable {
        get acceptsFocus(): boolean;
        get buttonNode(): JQuery;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onClick(e: JQueryEventObject): void;
        private executeDecision;
        private showErrorsDialog;
        private showSuccessDialog;
    }
}
declare namespace PDJS.Canvas.Actual.Process {
    class ProcessDecisions extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessDecisions> {
        private m_view;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Actual.Process {
    class ProcessState extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessState> {
        private m_view;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private processState_init;
        private message_init;
    }
}
declare namespace PDJS.Canvas.Actual.Process {
    class ProcessView extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessView> implements Core.IFocusable {
        private m_view;
        get acceptsFocus(): boolean;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private processView_init;
        private message_init;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    abstract class Shape extends ElementViewBase<PDJS.Canvas.Core.Shapes.Shape> {
    }
    abstract class ShapeBase<T extends PDJS.Canvas.Core.Shapes.Shape> extends Shape {
        get source(): T;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    class Ellipse extends ShapeBase<Core.Shapes.Ellipse> {
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    class Line extends ElementViewBase<Core.Shapes.Line> {
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    class Rectangle extends ShapeBase<Core.Shapes.Rectangle> {
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    abstract class Triangle extends ShapeBase<Core.Shapes.Triangle> {
    }
    abstract class TriangleBase<T extends Core.Shapes.Triangle> extends Triangle {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    class IsoscelesTriangle extends ShapeBase<Core.Shapes.IsoscelesTriangle> {
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Shapes {
    class RightTriangle extends ShapeBase<Core.Shapes.RightTriangle> {
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Actual.Views {
    class EventHistoryView extends ElementViewBase<PDJS.Canvas.Core.Views.EventHistoryView> {
        private m_grid;
        template(): string | Array<string> | JQuery;
        onBrowserResize(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
    }
}
declare namespace PDJS.Canvas.Core {
    class ElementModel extends CanvasJS.ElementModel {
        private m_reloadModelAfterPost;
        private m_isReloadingModel;
        get document(): Documents.DocumentModel;
        get reloadModelAfterPost(): boolean;
        set reloadModelAfterPost(value: boolean);
        get isReloadingModel(): boolean;
        set isReloadingModel(value: boolean);
        reloadModel(model: ElementModel): void;
        protected onReloadModel(model: ElementModel): void;
    }
}
declare namespace PDJS.Canvas.Core {
    enum CachedElementRefreshStatus {
        None = 0,
        Pending = 2,
        Success = 3,
        Failure = 4
    }
    interface ICachedElement extends CanvasJS.IElementModel {
        cacheAgeMins?: number;
        cacheExpiration?: number;
        cacheLastUpdated?: number;
        cacheEntityId?: number;
    }
    interface IGetCachedDataArgs {
        force?: boolean;
        success?: () => void;
        error?: () => void;
    }
    class CachedElement extends ElementModel implements ICachedElement {
        constructor(options: CanvasJS.IElementModelState);
        get cacheAgeMinutes(): number;
        set cacheAgeMinutes(value: number);
        get cacheExpiration(): number;
        set cacheExpiration(value: number);
        get cacheLastUpdated(): number;
        set cacheLastUpdated(value: number);
        get cacheDocumentId(): string;
        set cacheDocumentId(value: string);
        get cacheEntityId(): number;
        set cacheEntityId(value: number);
        get minutesElapsedSinceCached(): number;
        get hasCacheExpired(): boolean;
        get isCachingEnabled(): boolean;
        get cacheRefreshStatus(): CachedElementRefreshStatus;
        set cacheRefreshStatus(value: CachedElementRefreshStatus);
        getCachedData(args?: IGetCachedDataArgs): void;
        protected onCacheRefresh(state: any): void;
    }
}
declare namespace PDJS.Canvas.Core {
    enum CanvasType {
        Explorer = 0,
        Global = 1,
        Create = 2,
        Properties = 3,
        List = 4,
        DocumentType = 5
    }
}
declare namespace PDJS.Canvas.Core {
    interface IFormScript {
        eventId: string;
        scriptName: string;
        context: IScriptContext;
    }
    interface IScriptContext {
        [key: string]: any;
    }
}
declare namespace PDJS.Canvas.Core {
    interface IProperty<T> {
        text: string;
        value: T;
    }
    interface IBooleanProperty extends IProperty<boolean> {
    }
}
declare namespace PDJS.Canvas.Core {
    interface IIndexable {
        tabIndex: number;
    }
    class IIndexableGuard extends Jade.InterfaceGuard {
        get signature(): Jade.IInterfaceSignature;
    }
}
declare namespace PDJS.Canvas.Core.Charts {
    enum ChartSeriesType {
        area = "area",
        bar = "bar",
        column = "column",
        line = "line",
        pie = "pie"
    }
    interface IChartStyle {
        chartArea: {
            backColor: string;
            borderColor: string;
            borderStyle: string;
            borderWidth: number;
        };
    }
    class Chart extends CachedElement {
        constructor(state: CanvasJS.IElementModelState);
        get templateId(): number;
        set templateId(value: number);
        get seriesType(): ChartSeriesType;
        set seriesType(value: ChartSeriesType);
        get anchor(): any;
        set anchor(value: any);
        get condition(): any;
        set condition(value: any);
        get categoryFields(): any;
        set categoryFields(value: any);
        get legendFields(): any;
        set legendFields(value: any);
        get valueFields(): any;
        set valueFields(value: any);
        get enforceSecurity(): boolean;
        set enforceSecurity(value: boolean);
        get useEntityContext(): boolean;
        set useEntityContext(value: boolean);
        get style(): IChartStyle;
        set style(value: IChartStyle);
        get data(): any;
        set data(value: any);
        get context(): any;
        set context(value: any);
        get actionMenuVisible(): boolean;
        set actionMenuVisible(value: boolean);
        get actionMenuRefresh(): boolean;
        set actionMenuRefresh(value: boolean);
        get informationBarVisible(): boolean;
        set informationBarVisible(value: boolean);
        get informationBarRefresh(): boolean;
        set informationBarRefresh(value: boolean);
        protected onCacheRefresh(state: any): void;
    }
}
declare namespace PDJS.Canvas.Core.Charts {
    interface IChartAnchors {
        documentTypes: IDocumentTypeAnchors;
        entityTypes: IEntityTypeAnchors;
    }
    interface IDocumentTypeAnchors {
        types: IDocumentTypeAnchorTypes;
    }
    interface IDocumentTypeAnchorTypes extends Array<IDocumentTypeAnchorItem> {
    }
    interface IDocumentTypeAnchorItem {
        id: number;
        category: string;
        name: string;
    }
    interface IEntityTypeAnchors {
        groups: IEntityTypeAnchorGroups;
    }
    interface IEntityTypeAnchorGroups extends Array<IEntityTypeAnchorGroup> {
    }
    interface IEntityTypeAnchorGroup {
        name: string;
        types: Array<IEntityTypeAnchorItem>;
    }
    interface IEntityTypeAnchorItem {
        id: number;
        name: string;
    }
    interface ICondition {
        id: string;
        isEnabled: boolean;
        operatorName: string;
        conditions: Array<ICondition>;
        filters: Array<IFilter>;
    }
    interface IFilter {
        autoValueId: any;
        autoValueName: string;
        columnId: string;
        columnName: string;
        id: string;
        isEnabled: boolean;
        operatorId: number;
        operatorName: string;
        scalarFunctionId: string;
        scalarFunctionName: string;
        useAutoValue: boolean;
        value: any;
        verse: string;
    }
}
declare namespace PDJS.Canvas.Core.Common {
    interface IButton extends CanvasJS.IElementModelState {
        onClickAction: any;
        enabled: boolean;
        label: string;
    }
    class Button extends ElementModel implements IButton, IIndexable {
        constructor(options: IButton);
        get onClickAction(): PDJS.Core.Actions.IAction;
        set onClickAction(value: PDJS.Core.Actions.IAction);
        get enabled(): boolean;
        set enabled(value: boolean);
        get label(): string;
        set label(value: string);
        get hasOnClickAction(): boolean;
        get tabIndex(): number;
        get activeTabIndex(): number;
        get tooltip(): string;
        set tooltip(value: string);
        get hasTooltip(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Common {
    interface IHyperlink extends CanvasJS.IElementModelState {
        onClickAction: any;
        enabled: boolean;
        label: string;
        foreColor: string;
        fontSize: number;
        fontName: string;
        hoverForeColor: string;
        textAlignment: string;
    }
    class Hyperlink extends ElementModel implements IHyperlink, IIndexable {
        constructor(options: IHyperlink);
        get onClickAction(): PDJS.Core.Actions.IAction;
        set onClickAction(value: PDJS.Core.Actions.IAction);
        get enabled(): boolean;
        set enabled(value: boolean);
        get label(): string;
        set label(value: string);
        get foreColor(): string;
        set foreColor(value: string);
        get fontSize(): number;
        set fontSize(value: number);
        get fontName(): string;
        set fontName(value: string);
        get hoverForeColor(): string;
        set hoverForeColor(value: string);
        get textAlignment(): string;
        set textAlignment(value: string);
        get hasOnClickAction(): boolean;
        get tabIndex(): number;
        get activeTabIndex(): number;
        get tooltip(): string;
        set tooltip(value: string);
        get hasTooltip(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Common {
    interface IImageButton extends CanvasJS.IElementModelState {
        onClickAction: any;
        enabled: boolean;
        imageUrl: string;
    }
    class ImageButton extends ElementModel implements IImageButton {
        constructor(options: IImageButton);
        get onClickAction(): PDJS.Core.Actions.IAction;
        set onClickAction(value: PDJS.Core.Actions.IAction);
        get enabled(): boolean;
        set enabled(value: boolean);
        get imageUrl(): string;
        set imageUrl(value: string);
        get hasOnClickAction(): boolean;
        get tooltip(): string;
        set tooltip(value: string);
        get hasTooltip(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Common {
    interface IMarkup extends CanvasJS.IElementModelState {
        markup: string;
        scrolling: string;
        padding: number;
        backgroundColor: string;
        borderColor: string;
        borderStyle: string;
        borderWidth: number;
    }
    class Markup extends ElementModel implements IMarkup {
        constructor(options: IMarkup);
        get markup(): string;
        set markup(value: string);
        get scrolling(): string;
        set scrolling(value: string);
        get padding(): number;
        set padding(value: number);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderStyle(): string;
        set borderStyle(value: string);
        get borderWidth(): number;
        set borderWidth(value: number);
    }
}
declare namespace PDJS.Canvas.Core.Common {
    interface IReport extends CanvasJS.IElementModel {
        reportId: number;
        entityId: number;
        reportName: string;
    }
    class Report extends CachedElement implements IReport {
        constructor(options: CanvasJS.IElementModelState);
        get reportId(): number;
        set reportId(value: number);
        get entityId(): number;
        set entityId(value: number);
        get reportName(): string;
        set reportName(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderStyle(): string;
        set borderStyle(value: string);
        get borderWidth(): string;
        set borderWidth(value: string);
        get data(): string;
        set data(value: string);
        get actionMenuVisible(): boolean;
        set actionMenuVisible(value: boolean);
        get actionMenuRefresh(): boolean;
        set actionMenuRefresh(value: boolean);
        get actionMenuPrint(): boolean;
        set actionMenuPrint(value: boolean);
        get actionMenuOpen(): boolean;
        set actionMenuOpen(value: boolean);
        get informationBarVisible(): boolean;
        set informationBarVisible(value: boolean);
        get informationBarRefresh(): boolean;
        set informationBarRefresh(value: boolean);
        protected onCacheRefresh(state: any): void;
    }
}
declare namespace PDJS.Canvas.Core.Common {
    enum VerticalAlign {
        top = "flex-start",
        middle = "center",
        bottom = "flex-end"
    }
    enum HorizontalAlign {
        left = "left",
        center = "center",
        right = "right"
    }
    export interface IText extends CanvasJS.IElementModelState {
        text: string;
        verticalAlignment: string;
        horizontalAlignment: string;
    }
    export class Text extends ElementModel implements IText {
        constructor(options: IText);
        get text(): string;
        set text(value: string);
        get verticalAlignment(): VerticalAlign;
        set verticalAlignment(value: VerticalAlign);
        get horizontalAlignment(): HorizontalAlign;
        set horizontalAlignment(value: HorizontalAlign);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderStyle(): string;
        set borderStyle(value: string);
        get borderWidth(): string;
        set borderWidth(value: string);
        get paddingTop(): number;
        set paddingTop(value: number);
        get paddingRight(): number;
        set paddingRight(value: number);
        get paddingBottom(): number;
        set paddingBottom(value: number);
        get paddingLeft(): number;
        set paddingLeft(value: number);
    }
    export {};
}
declare namespace PDJS.Canvas.Core.Documents {
    interface IDocumentOperationOptions {
        onSuccess?: (e: any) => void;
        onError?: (e: any) => void;
    }
    interface IDocument extends CanvasJS.IDocumentModel {
        backgroundColor: string;
        tabIndexes: Array<string>;
        canvasType: PDJS.Canvas.Core.CanvasType;
        variables: Array<PDJS.Canvas.Core.Dynamics.ICanvasVariable>;
    }
    class DocumentModel extends CanvasJS.DocumentModel {
        private m_tabIndexes;
        constructor(options: IDocument);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get canvasType(): PDJS.Canvas.Core.CanvasType;
        set canvasType(value: PDJS.Canvas.Core.CanvasType);
        get entityId(): number;
        get tabIndexes(): Jade.Collection<string>;
        toJSON(): any;
    }
}
declare namespace PDJS.Canvas.Core.Documents {
    interface ISaveFormOptions extends Core.Documents.IDocumentOperationOptions {
        entityId: number;
        formButtonId: string;
        onValidationError?: (e: Services.Canvas.Forms.IEntityResponse) => void;
        onScriptError?: (e: Services.Canvas.Forms.IEntityResponse) => void;
        onSuccess?: (e: Services.Canvas.Forms.IEntityResponse) => void;
    }
    class ActualDocument extends DocumentModel {
        saveForm(options: ISaveFormOptions): void;
    }
}
declare namespace PDJS.Canvas.Core.Documents {
    class DesignDocument extends DocumentModel {
        private m_variables;
        constructor(options: IDocument);
        get sessionId(): string;
        get width(): string;
        get height(): string;
        get variables(): PDJS.Canvas.Core.Dynamics.VariableCollection;
        toJSON(): any;
        private getDefaultWidth;
    }
}
declare namespace PDJS.Canvas.Core.Documents {
    interface IExplorerDocumentSaveOptions extends IDocumentOperationOptions {
        entityId: number;
        formButtonId: string;
    }
    class ExplorerDocument extends Document {
        static load(): void;
        save(options: IExplorerDocumentSaveOptions): void;
    }
}
declare namespace PDJS.Canvas.Core.Dynamics {
    enum CanvasVariableType {
        Boolean = 0,
        Date = 1,
        Number = 2,
        String = 3
    }
    enum CanvasVariableSource {
        Local = 1,
        System = 2,
        Context = 3
    }
    interface ICanvasVariable {
        id: string;
        name: string;
        description?: string;
        source: CanvasVariableSource;
        systemVariableId?: string;
        systemVariableName?: string;
        isNullable?: boolean;
        localValue?: string;
        type: CanvasVariableType;
        value?: any;
    }
}
declare namespace PDJS.Canvas.Core.Dynamics {
    class VariableCollection {
        private m_list;
        constructor(data?: Array<ICanvasVariable>);
        get ids(): Array<string>;
        add(variable: ICanvasVariable): void;
        remove(id: string): void;
        get(id: string): ICanvasVariable;
        getIndex(id: string): number;
        contains(id: string): boolean;
        clear(): void;
        toArray(): Array<ICanvasVariable>;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IFormElement extends CanvasJS.IElementModelState {
        formId: string;
        isDisabled: boolean;
        tooltip: string;
        label: string;
    }
    abstract class FormElement extends ElementModel implements IFormElement, IIndexable {
        get formId(): string;
        set formId(value: string);
        get isDisabled(): boolean;
        set isDisabled(value: boolean);
        get label(): string;
        set label(value: string);
        get tooltip(): string;
        set tooltip(value: string);
        get hasTooltip(): boolean;
        get activeEnabledState(): boolean;
        get tabIndex(): number;
        get activeTabIndex(): number;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IFormButton extends IFormElement {
        enabled: boolean;
        enforceSecurity: boolean;
        ruleScript: IFormScript;
    }
    class FormButton extends FormElement implements IFormButton {
        constructor(state: CanvasJS.IElementModelState);
        get activeEnabledState(): boolean;
        get enabled(): boolean;
        set enabled(value: boolean);
        get enforceSecurity(): boolean;
        set enforceSecurity(value: boolean);
        get ruleScript(): IFormScript;
        set ruleScript(value: IFormScript);
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IFormField extends IFormElement {
        defaultLabel: string;
        isRequired: boolean;
        labelColor: string;
    }
    interface IFormFieldInput {
    }
    interface IFormFieldInputOf<T> extends IFormFieldInput {
        value: T;
    }
    class FormField extends FormElement implements IFormField {
        private m_valueChanged;
        constructor(options: IFormField);
        get defaultLabel(): string;
        set defaultLabel(value: string);
        get isRequired(): boolean;
        set isRequired(value: boolean);
        get labelColor(): string;
        set labelColor(value: string);
        get label(): string;
        set label(value: string);
        get activeLabel(): string;
        get activeLabelColor(): string;
        get value(): any;
        set value(value: any);
        get input(): IFormFieldInput;
        set input(value: IFormFieldInput);
        get valueChanged(): boolean;
        set valueChanged(value: boolean);
        copyInputTo(field: FormField): void;
        isEquivalentTo(field: FormField): boolean;
        hasValue(): boolean;
        protected checkValueChanged(currentValue: any, newValue: any): void;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IBuiltInField extends IFormField {
        isReadOnly: boolean;
    }
    abstract class BuiltInField extends FormField implements IBuiltInField {
        constructor(options: IBuiltInField);
        get isReadOnly(): boolean;
        set isReadOnly(value: boolean);
        get activeEnabledState(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IExtensionField extends IFormField {
        columnId: number;
        columnIsReadOnly: boolean;
        inBatch: boolean;
        isReadOnly: boolean;
    }
    abstract class ExtensionField extends FormField implements IExtensionField {
        constructor(options: IExtensionField);
        get columnId(): number;
        set columnId(value: number);
        get columnIsReadOnly(): boolean;
        set columnIsReadOnly(value: boolean);
        get inBatch(): boolean;
        set inBatch(value: boolean);
        get isReadOnly(): boolean;
        set isReadOnly(value: boolean);
        get inBatchMode(): boolean;
        set inBatchMode(value: boolean);
        get activeEnabledState(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IGetFormFieldValueArgs {
        document: Documents.DocumentModel;
        type: {
            new (...args: any[]): FormField;
        };
        columnId?: number;
    }
    export class FormFields {
        static getField(args: IGetFormFieldValueArgs): FormField;
        static getFields(args: IGetFormFieldValueArgs): Jade.Collection<FormField>;
        static getInput(args: IGetFormFieldValueArgs): IFormFieldInput;
        static getRequiredFields(source: Documents.DocumentModel): Jade.Collection<FormField>;
        static getValue(args: IGetFormFieldValueArgs): any;
        static map(source: Documents.DocumentModel, destination: Documents.DocumentModel): void;
        static setEntityNameFieldValue(source: Documents.DocumentModel, value: string): void;
        static getEntityNameFieldValue(source: Documents.DocumentModel): string;
        static iterateRequiredFields(source: Documents.DocumentModel, callback: (field: FormField) => void): void;
        private static getFormFields;
    }
    export {};
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityDescriptionField extends IBuiltInField {
        value: string;
    }
    class EntityDescriptionField extends BuiltInField implements IEntityDescriptionField {
        constructor(options: IEntityDescriptionField);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityIconField extends IBuiltInField {
        value: string;
    }
    class EntityIconField extends BuiltInField implements IEntityIconField {
        constructor(options: IEntityIconField);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityNameField extends IBuiltInField {
        value: string;
    }
    class EntityNameField extends BuiltInField implements IEntityNameField {
        constructor(options: IEntityNameField);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityParentField extends IBuiltInField {
        entityTypeId: number;
        parentId: number;
        parentName: string;
        parentTypeName: string;
        parentTypeIcon: string;
        isRequiredByType: boolean;
    }
    interface IEntityParentFieldInput extends IFormFieldInput {
        parentId: number;
        parentName: string;
        parentTypeName: string;
        parentTypeIcon: string;
    }
    class EntityParentField extends BuiltInField implements IEntityParentField {
        constructor(options: IEntityParentField);
        get entityTypeId(): number;
        set entityTypeId(value: number);
        get parentId(): number;
        set parentId(value: number);
        get parentName(): string;
        set parentName(value: string);
        get parentTypeName(): string;
        set parentTypeName(value: string);
        get parentTypeIcon(): string;
        set parentTypeIcon(value: string);
        get isRequiredByType(): boolean;
        set isRequiredByType(value: boolean);
        get input(): IEntityParentFieldInput;
        set input(value: IEntityParentFieldInput);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityProcessField extends IBuiltInField {
        keyIcon: string;
        keyName: string;
        processName: string;
        stageId: number;
        stageIcon: string;
        stageName: string;
        statusId: number;
        statusIcon: string;
        statusName: string;
    }
    interface IEntityProcessFieldOptions extends IBuiltInField {
        keyIcon: string;
        keyName: string;
        processName: string;
        stageId: number;
        stageIcon: string;
        stageName: string;
        statusId: number;
        statusIcon: string;
        statusName: string;
    }
    class EntityProcessField extends BuiltInField {
        constructor(options: IEntityProcessFieldOptions);
        get entityTypeId(): number;
        get keyIcon(): string;
        set keyIcon(value: string);
        get keyName(): string;
        set keyName(value: string);
        get processName(): string;
        set processName(value: string);
        get stageId(): number;
        set stageId(value: number);
        get stageIcon(): string;
        set stageIcon(value: string);
        get stageName(): string;
        set stageName(value: string);
        get statusId(): number;
        set statusId(value: number);
        get statusIcon(): string;
        set statusIcon(value: string);
        get statusName(): string;
        set statusName(value: string);
        get showKey(): boolean;
        get showProcess(): boolean;
        get showStage(): boolean;
        get showStatus(): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IBooleanField extends IExtensionField {
        itemIcon: string;
        itemLabel: string;
        value: boolean;
    }
    class BooleanField extends ExtensionField implements IBooleanField {
        constructor(options: IBooleanField);
        get itemIcon(): string;
        set itemIcon(value: string);
        get itemLabel(): string;
        set itemLabel(value: string);
        get value(): boolean;
        set value(value: boolean);
        get input(): IFormFieldInputOf<boolean>;
        set input(value: IFormFieldInputOf<boolean>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IDateField extends IExtensionField {
        format: string;
        columnFormat: string;
        value: string;
    }
    class DateField extends ExtensionField implements IDateField {
        constructor(options: IDateField);
        get format(): string;
        set format(value: string);
        get columnFormat(): string;
        set columnFormat(value: string);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeFormat(): string;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IDecimalField extends IExtensionField {
        format: string;
        columnFormat: string;
        value: string;
    }
    class DecimalField extends ExtensionField implements IDecimalField {
        constructor(options: IDecimalField);
        get format(): string;
        set format(value: string);
        get columnFormat(): string;
        set columnFormat(value: string);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeFormat(): string;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IEntityField extends IExtensionField {
        entityId: number;
        entityName: string;
        entityTypeIcon: string;
        entityTypeName: string;
        viewId: number;
        viewStateId: string;
    }
    interface IEntityFieldInput extends IFormFieldInput {
        entityId: number;
        entityName: string;
        entityTypeName: string;
        entityTypeIcon: string;
    }
    class EntityField extends ExtensionField implements IEntityField {
        constructor(options: IEntityField);
        get entityId(): number;
        set entityId(value: number);
        get entityName(): string;
        set entityName(value: string);
        get entityTypeName(): string;
        set entityTypeName(value: string);
        get entityTypeIcon(): string;
        set entityTypeIcon(value: string);
        get viewId(): number;
        set viewId(value: number);
        get viewStateId(): string;
        set viewStateId(value: string);
        get input(): IEntityFieldInput;
        set input(value: IEntityFieldInput);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IInt32Field extends IExtensionField {
        format: string;
        columnFormat: string;
        value: string;
    }
    class Int32Field extends ExtensionField implements IInt32Field {
        constructor(options: IInt32Field);
        get format(): string;
        set format(value: string);
        get columnFormat(): string;
        set columnFormat(value: string);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeFormat(): string;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IInt64Field extends IExtensionField {
        format: string;
        columnFormat: string;
        value: string;
    }
    class Int64Field extends ExtensionField implements IInt64Field {
        constructor(options: IInt64Field);
        get format(): string;
        set format(value: string);
        get columnFormat(): string;
        set columnFormat(value: string);
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeFormat(): string;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IMultiSelectField extends IExtensionField {
        items: Array<IMultiSelectItem>;
        value: Array<number>;
    }
    interface IMultiSelectItem {
        id: number;
        icon: string;
        label: string;
    }
    class MultiSelectField extends ExtensionField implements IMultiSelectField {
        constructor(options: IMultiSelectField);
        get items(): Array<IMultiSelectItem>;
        set items(value: Array<IMultiSelectItem>);
        get value(): Array<number>;
        set value(value: Array<number>);
        get input(): IFormFieldInputOf<Array<number>>;
        set input(value: IFormFieldInputOf<Array<number>>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface ISingleSelectField extends IExtensionField {
        items: Array<ISingleSelectItem>;
        selectedId: number;
    }
    interface ISingleSelectItem {
        id: number;
        icon: string;
        label: string;
    }
    class SingleSelectField extends ExtensionField implements ISingleSelectField {
        constructor(options: ISingleSelectField);
        get items(): Array<ISingleSelectItem>;
        set items(value: Array<ISingleSelectItem>);
        get selectedId(): number;
        set selectedId(value: number);
        isEquivalentTo(field: FormField): boolean;
        getSelectedItem(): ISingleSelectItem;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IStringField extends IExtensionField {
        multiLine: boolean;
        value: string;
    }
    class StringField extends ExtensionField implements IStringField {
        constructor(options: IStringField);
        get multiLine(): boolean;
        get value(): string;
        set value(value: string);
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IUserField extends IExtensionField {
        userId: number;
        userName: string;
        viewId: number;
        viewStateId: string;
    }
    interface IUserFieldInput extends IFormFieldInput {
        userId: number;
        userName: string;
    }
    class UserField extends ExtensionField implements IUserField {
        constructor(options: IUserField);
        get userId(): number;
        set userId(value: number);
        get userName(): string;
        set userName(value: string);
        get viewId(): number;
        set viewId(value: number);
        get viewStateId(): string;
        set viewStateId(value: string);
        get input(): IUserFieldInput;
        set input(value: IUserFieldInput);
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface IBatchField extends IFormField {
        contextId: string;
        enforceSecurity: boolean;
        isReadOnly: boolean;
        value: string;
    }
    interface IBatchFieldItem {
        id: any;
        label: string;
        icon: string;
        active: boolean;
        selected: boolean;
        visible: boolean;
    }
    abstract class BatchField extends FormField implements IBatchField {
        private m_listItems;
        private m_filterTerm;
        constructor(options: IBatchField);
        get contextId(): string;
        set contextId(value: string);
        get entityId(): number;
        set entityId(value: number);
        get enforceSecurity(): boolean;
        set enforceSecurity(value: boolean);
        get filterTerm(): string;
        set filterTerm(value: string);
        get isReadOnly(): boolean;
        set isReadOnly(value: boolean);
        get isRequired(): boolean;
        set isRequired(value: boolean);
        get selectIdentities(): boolean;
        set selectIdentities(value: boolean);
        get selectedIds(): Array<number>;
        set selectedIds(value: Array<number>);
        get value(): string;
        set value(value: string);
        get viewId(): number;
        get viewStateId(): string;
        get contextFilters(): Array<PDJS.Core.Views.IContextFilter>;
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeEnabledState(): boolean;
        get listItems(): Array<IBatchFieldItem>;
        set listItems(value: Array<IBatchFieldItem>);
        get dialogTitle(): string;
        get dialogHeight(): number;
        get dialogWidth(): number;
        get showCheckboxes(): boolean;
        protected onReloadModel(model: ElementModel): void;
        toJSON(): any;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Forms {
    interface ITextField extends IFormField {
        contextId: string;
        enforceSecurity: boolean;
        isReadOnly: boolean;
        value: string;
    }
    abstract class TextField extends FormField implements ITextField {
        constructor(options: IExtensionField);
        get contextId(): string;
        set contextId(value: string);
        get enforceSecurity(): boolean;
        set enforceSecurity(value: boolean);
        get isReadOnly(): boolean;
        set isReadOnly(value: boolean);
        get isRequired(): boolean;
        set isRequired(value: boolean);
        get value(): string;
        set value(value: string);
        get multiLine(): boolean;
        get input(): IFormFieldInputOf<string>;
        set input(value: IFormFieldInputOf<string>);
        get activeEnabledState(): boolean;
        isEquivalentTo(field: FormField): boolean;
    }
}
declare namespace PDJS.Canvas.Core.Process {
    interface IDecisionButton extends CanvasJS.IElementModelState {
        enabled: boolean;
        label: string;
        tooltip: string;
        entityId: number;
        decisionId: number;
    }
    class DecisionButton extends ElementModel implements IDecisionButton, IIndexable {
        constructor(options: IDecisionButton);
        get enabled(): boolean;
        get label(): string;
        set label(value: string);
        get activeLabel(): string;
        get defaultLabel(): string;
        get tooltip(): string;
        set tooltip(value: string);
        get hasTooltip(): boolean;
        get tabIndex(): number;
        get activeTabIndex(): number;
        get entityId(): number;
        get decisionId(): number;
        toJSON(): any;
    }
}
declare namespace PDJS.Canvas.Core.Process {
    interface IBaseNode {
        id: number;
        icon?: string;
        name?: string;
        description?: string;
    }
    interface IKeyNode extends IBaseNode {
        visited?: boolean;
    }
    interface IStageNode extends IBaseNode {
        visited?: boolean;
        keyId: number;
        decisions: Array<IDecisionNode>;
    }
    interface IDecisionNode extends IBaseNode {
        stageId: number;
        targetStage: IStageNode;
        targetStatus: IStatusNode;
    }
    interface IStatusNode extends IBaseNode {
    }
}
declare namespace PDJS.Canvas.Core.Process {
    interface IProcessDecisions extends CanvasJS.IElementModelState {
        currentKey: IKeyNode;
        currentStage: IStageNode;
        currentStatus: IStatusNode;
        decisions: Array<IDecisionNode>;
        entityId: number;
    }
    class ProcessDecisions extends ElementModel implements IProcessDecisions {
        constructor(options: IProcessView);
        get entityId(): number;
        get showKey(): boolean;
        get showStage(): boolean;
        get showStatus(): boolean;
        get currentKey(): IKeyNode;
        get currentStage(): IStageNode;
        get currentStatus(): IStatusNode;
        get decisions(): Array<IDecisionNode>;
        toJSON(): any;
    }
}
declare namespace PDJS.Canvas.Core.Process {
    enum ProcessStateOrientation {
        Horizontal = "horizontal",
        Vertical = "vertical"
    }
    interface IProcessState extends CanvasJS.IElementModelState {
        showProcess: boolean;
        showKey: boolean;
        showStage: boolean;
        showStatus: boolean;
        showLabels: boolean;
        currentKey: IKeyNode;
        currentStage: IStageNode;
        currentStatus: IStatusNode;
        orientation: ProcessStateOrientation;
        processName: string;
        fontSize: number;
        itemHeight: number;
        absoluteHeight: number;
    }
    class ProcessState extends ElementModel implements IProcessState {
        constructor(options: IProcessView);
        get showProcess(): boolean;
        get showKey(): boolean;
        get showStage(): boolean;
        get showStatus(): boolean;
        get showLabels(): boolean;
        get currentKey(): IKeyNode;
        get currentStage(): IStageNode;
        get currentStatus(): IStatusNode;
        get fontSize(): number;
        get itemHeight(): number;
        get orientation(): ProcessStateOrientation;
        get processName(): string;
        get displayedSectionCount(): number;
        get absoluteHeight(): number;
        toJSON(): any;
    }
}
declare namespace PDJS.Canvas.Core.Process {
    interface IProcessView extends CanvasJS.IElementModelState {
        showKeys: boolean;
        showStages: boolean;
        showState: boolean;
        showDecisions: boolean;
        showCurrentKey: boolean;
        showVisitedKeys: boolean;
        showCurrentStage: boolean;
        showVisitedStages: boolean;
        currentKey: IKeyNode;
        currentStage: IStageNode;
        currentStatus: IStatusNode;
        keys: Array<IKeyNode>;
        stages: Array<IStageNode>;
        keyHeight: number;
        keyFontSize: number;
        stageHeight: number;
        stageFontSize: number;
        gridColumnWidth: number;
        currentStageBackColor: string;
        currentStageBorderColor: string;
        currentStageBorderWidth: number;
        currentStageForeColor: string;
        selectedStageBackColor: string;
        selectedStageBorderColor: string;
        selectedStageBorderWidth: number;
        selectedStageForeColor: string;
        visitedStageBackColor: string;
        visitedStageBorderColor: string;
        visitedStageBorderWidth: number;
        visitedStageForeColor: string;
        currentKeyBackColor: string;
        currentKeyBorderColor: string;
        currentKeyBorderWidth: number;
        currentKeyForeColor: string;
        visitedKeyBackColor: string;
        visitedKeyBorderColor: string;
        visitedKeyBorderWidth: number;
        visitedKeyForeColor: string;
        entityId: number;
        rowCount: number;
    }
    class ProcessView extends ElementModel implements IProcessView, IIndexable {
        private m_rowCount;
        constructor(options: IProcessView);
        get tabIndex(): number;
        get activeTabIndex(): number;
        get entityId(): number;
        get showKeys(): boolean;
        get showStages(): boolean;
        get showState(): boolean;
        get showDecisions(): boolean;
        get showCurrentKey(): boolean;
        get showVisitedKeys(): boolean;
        get showCurrentStage(): boolean;
        get showVisitedStages(): boolean;
        get currentKey(): IKeyNode;
        get currentStage(): IStageNode;
        get currentStatus(): IStatusNode;
        get keys(): Array<IKeyNode>;
        get stages(): Array<IStageNode>;
        get keyHeight(): number;
        get keyFontSize(): number;
        get stageHeight(): number;
        get stageFontSize(): number;
        get gridColumnWidth(): number;
        get currentStageBackColor(): string;
        get currentStageBorderColor(): string;
        get currentStageBorderWidth(): number;
        get currentStageForeColor(): string;
        get selectedStageBackColor(): string;
        get selectedStageBorderColor(): string;
        get selectedStageBorderWidth(): number;
        get selectedStageForeColor(): string;
        get showDecisionDestinations(): boolean;
        get visitedStageBackColor(): string;
        get visitedStageBorderColor(): string;
        get visitedStageBorderWidth(): number;
        get visitedStageForeColor(): string;
        get currentKeyBackColor(): string;
        get currentKeyBorderColor(): string;
        get currentKeyBorderWidth(): number;
        get currentKeyForeColor(): string;
        get visitedKeyBackColor(): string;
        get visitedKeyBorderColor(): string;
        get visitedKeyBorderWidth(): number;
        get visitedKeyForeColor(): string;
        get rowCount(): number;
        private calculateRowCount;
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    interface IShape extends CanvasJS.IElementModel {
        backgroundColor: string;
        borderColor: string;
        borderStyle: string;
        borderWidth: number;
    }
    interface IShapeOptions extends CanvasJS.IElementModelState {
        backgroundColor: string;
        borderColor: string;
        borderStyle: string;
        borderWidth: number;
    }
    abstract class Shape extends ElementModel implements IShape {
        constructor(options: IShapeOptions);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderStyle(): string;
        set borderStyle(value: string);
        get borderWidth(): number;
        set borderWidth(value: number);
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    interface IEllipse extends Shape {
    }
    class Ellipse extends Shape implements IEllipse {
        constructor(options: IEllipse);
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    enum LineCapShape {
        none = 0,
        circle = 1,
        square = 2,
        triangle = 3
    }
    interface ILine extends IShape {
        lineColor: string;
        lineWeight: number;
        startCapShape: LineCapShape;
        startCapWidth: number;
        startCapHeight: number;
        startCapColor: string;
        endCapShape: LineCapShape;
        endCapWidth: number;
        endCapHeight: number;
        endCapColor: string;
    }
    class Line extends Shape implements ILine {
        constructor(options: IShapeOptions);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get lineColor(): string;
        set lineColor(value: string);
        get lineWeight(): number;
        set lineWeight(value: number);
        get startCapShape(): LineCapShape;
        set startCapShape(value: LineCapShape);
        get startCapHeight(): number;
        set startCapHeight(value: number);
        get startCapWidth(): number;
        set startCapWidth(value: number);
        get startCapColor(): string;
        set startCapColor(value: string);
        get endCapShape(): LineCapShape;
        set endCapShape(value: LineCapShape);
        get endCapHeight(): number;
        set endCapHeight(value: number);
        get endCapWidth(): number;
        set endCapWidth(value: number);
        get endCapColor(): string;
        set endCapColor(value: string);
        get currentMaxHeight(): number;
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    interface IRectangle extends Shape {
    }
    class Rectangle extends Shape implements IRectangle {
        constructor(options: IRectangle);
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    enum TriangleRotation {
        rotate0 = 0,
        rotate90 = 1,
        rotate180 = 2,
        rotate270 = 3
    }
    interface ITriangle extends IShape {
        rotation: TriangleRotation;
    }
    abstract class Triangle extends Shape implements ITriangle {
        constructor(options: IShapeOptions);
        get rotation(): TriangleRotation;
        set rotation(value: TriangleRotation);
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    interface IIsoscelesTriangle extends ITriangle {
    }
    class IsoscelesTriangle extends Triangle implements IIsoscelesTriangle {
        constructor(options: IShapeOptions);
    }
}
declare namespace PDJS.Canvas.Core.Shapes {
    interface IRightTriangle extends ITriangle {
    }
    class RightTriangle extends Triangle implements IRightTriangle {
        constructor(options: IShapeOptions);
    }
}
declare namespace PDJS.Canvas.Core.Views {
    interface IEventHistoryView extends CanvasJS.IElementModelState {
        isDestroyable: boolean;
        entityId: number;
        viewId: number;
        viewStateId: string;
    }
    class EventHistoryView extends ElementModel implements IEventHistoryView {
        constructor(options: IEventHistoryView);
        get isDestroyable(): boolean;
        get entityId(): number;
        get viewId(): number;
        get viewStateId(): string;
        get contextFilters(): Array<PDJS.Core.Views.IContextFilter>;
    }
}
declare namespace PDJS.Canvas.Design {
}
declare namespace PDJS.Canvas.Design.ContextMenu {
}
declare namespace PDJS.Canvas.Design.RibbonBar {
}
declare namespace PDJS.Canvas.Design {
    enum CssClass {
        ElementError = "-pdjs-element-design-error"
    }
}
declare namespace PDJS.Canvas.Design {
    interface IDesignerDialogOptions extends Jade.UI.IDialogOptions {
        documentId: string;
        canvasType: Canvas.Core.CanvasType;
        entityTypeId?: number;
        documentTypeId?: number;
        extensionId?: number;
        isListBased?: boolean;
        isFileBased?: boolean;
    }
    class DesignerDialog extends Jade.UI.Dialog {
        private m_documentService;
        constructor(options: IDesignerDialogOptions);
        private get documentId();
        private get canvasType();
        private get entityTypeId();
        private get documentTypeId();
        private get extensionId();
        private get isListBased();
        private get isFileBased();
        template(): string | JQuery | Array<string>;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onCreateContext(e: Jade.UI.IDialogOnCreateContextArgs): void;
        protected getWindowOptions(): any;
        private loadToolBox;
        private loadDocument;
        private loadHotKeys;
        static open(options: IDesignerDialogOptions): Jade.UI.Dialog;
    }
}
declare namespace PDJS.Canvas.Design {
    interface IDocumentViewOptions extends CanvasJS.IDocumentViewOptions<Core.Documents.DesignDocument> {
        canvasType?: Canvas.Core.CanvasType;
        entityTypeId?: number;
        fileTypeId?: number;
        extensionId?: number;
        isListBased?: boolean;
        isFileBased?: boolean;
    }
    class DocumentView extends CanvasJS.Design.DocumentDesignViewBase<Core.Documents.DesignDocument> {
        constructor(options: IDocumentViewOptions);
        get documentId(): string;
        get canvasType(): Canvas.Core.CanvasType;
        get entityTypeId(): number;
        get documentTypeId(): number;
        get extensionId(): number;
        get isListBased(): boolean;
        get isFileBased(): boolean;
        load(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected addSelectionBox(): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design {
    enum ElementEditorLayoutType {
        Panels = "FeatureBlendJS.Views.FeatureBlendLayoutType.Panels",
        Tabbed = "FeatureBlendJS.Views.FeatureBlendLayoutType.Tabbed",
        Simple = "FeatureBlendJS.Views.FeatureBlendLayoutType.Simple"
    }
    interface IElementEditorAttribute {
        layout: ElementEditorLayoutType;
        height: number;
        width: number;
    }
    interface IElementEditorAttributeResult extends IElementEditorAttribute {
        layoutType: any;
    }
    class ElementEditorAttribute {
        static ATTRIBUTE_KEY: string;
        static convertEnumToType(type?: ElementEditorLayoutType): any;
        static read(element: CanvasJS.Design.ElementDesignView): IElementEditorAttributeResult;
    }
    function elementEditor<TTarget extends CanvasJS.Design.ElementDesignView>(layout: ElementEditorLayoutType, height?: number, width?: number): <T extends new (...args: any[]) => {}>(constr: T) => {
        new (...args: any[]): {};
    } & T;
}
declare namespace PDJS.Shared.Features {
    interface IArbiterAttributes {
        [key: string]: any;
    }
    interface IArbiterProperties {
        [key: string]: any;
    }
    interface IArbiterData {
        id?: string | number;
        type: string;
        targetType: string;
        json?: string;
        attributes?: IArbiterAttributes;
        properties?: IArbiterAttributes;
    }
    interface IFeatureRequestData {
        initialized: boolean;
        arbiter: IArbiterData;
    }
    interface IFeatureDialogOptions extends Jade.UI.IDialogOptions {
        args: {
            arbiterType?: string;
            methodType?: string;
            layoutType?: FeatureBlendJS.Views.FeatureBlendLayoutType;
            targetId?: string | number;
            targetType?: string;
            targetData?: any;
            properties?: IArbiterProperties;
            attributes?: IArbiterAttributes;
            showApplyButton?: boolean;
        };
    }
    class FeatureDialog extends Jade.UI.Dialog {
        private m_editor;
        constructor(options: IFeatureDialogOptions, windowOptions?: any);
        protected get okButton(): JQuery;
        protected get cancelButton(): JQuery;
        protected get applyButton(): JQuery;
        protected get editor(): FeatureEditor;
        protected get targetId(): any;
        protected get targetData(): any;
        protected get targetType(): string;
        protected get arbiterType(): string;
        protected get attributes(): any;
        protected get properties(): any;
        protected get layoutType(): FeatureBlendJS.Views.FeatureBlendLayoutType;
        protected get showApplyButton(): boolean;
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getRequestData(): any;
        protected getWindowOptions(): any;
        protected onInputReturnKeystroke(): void;
        protected getEditor(): FeatureEditor;
        private editor_init;
        private save;
        private apply;
    }
}
declare namespace PDJS.Canvas.Design {
    class ElementEditorDialog extends PDJS.Shared.Features.FeatureDialog {
        protected getRequestData(): PDJS.Shared.Features.IFeatureRequestData;
        protected getEditor(): PDJS.Shared.Features.FeatureEditor;
        static open(options: PDJS.Shared.Features.IFeatureDialogOptions, windowOptions?: any): ElementEditorDialog;
    }
}
declare namespace PDJS.Canvas.Design {
    interface IElementLayoutSettings {
        columnCount: number;
        columnWidth: number;
        columnSpacing: number;
        rowSpacing: number;
    }
    interface IElementLayoutApplyArgs {
        xOrigin: number;
        yOrigin: number;
        elements: Array<ElementView>;
    }
    class ElementLayoutSettings extends CanvasJS.ElementModel {
        private static LOCAL_STORAGE_KEY;
        private static m_data;
        static get columnCount(): number;
        static set columnCount(value: number);
        static get columnWidth(): number;
        static set columnWidth(value: number);
        static get columnSpacing(): number;
        static set columnSpacing(value: number);
        static get rowSpacing(): number;
        static set rowSpacing(value: number);
        private static get data();
        static save(): void;
        static applyLayout(args: IElementLayoutApplyArgs): void;
        private static ensurelocalStorage;
    }
}
declare namespace PDJS.Canvas.Design {
    class ElementView extends CanvasJS.Design.ElementDesignViewBase<CanvasJS.ElementModel> {
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected handleErrors(): void;
    }
    abstract class ElementViewBase<T extends CanvasJS.ElementModel> extends ElementView {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Design {
    interface IElementViewErrorOptions extends Jade.UI.IControlOptions {
        element: ElementView;
    }
    class ElementViewError extends Jade.UI.Control {
        constructor(options: IElementViewErrorOptions);
        private get element();
        template(): string | Array<string> | JQuery;
        private getIcon;
        private getOverlay;
        private getIconPath;
    }
}
declare namespace PDJS.Canvas.Design {
    class FeatureEditor {
        static showForDocument(document: DocumentView): void;
        static showForElement(element: CanvasJS.Design.ElementDesignView): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class SelectionBox extends CanvasJS.Design.SelectionBox {
        protected onElementInspect(e: CanvasJS.Design.SelectionBoxInspectEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design {
    interface IFormFieldLayoutCommandProps extends Jade.ICommandProps {
    }
    class AutoArrangeCommand extends Jade.Command {
        constructor(options?: IFormFieldRequiredCommandProps);
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
        protected onStateChanged(e: Jade.StateBag): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class AutoTabIndexCommand extends Jade.Command {
        private get document();
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        private continuePreviousPrompt;
        private autoTabIndex;
        private createMap;
        private formatKey;
        private pad;
        private round;
        private sortKeys;
        private updateTabIndexLabels;
    }
}
declare namespace PDJS.Canvas.Design {
    enum ICustomColorCommandTarget {
        backgroundColor = "backgroundColor",
        borderColor = "borderColor"
    }
    class CustomColorCommand extends Jade.Command {
        onExecute(target: ICustomColorCommandTarget): void;
        protected getDefaultValuesForProps(): any;
        private setColor;
    }
}
declare namespace PDJS.Canvas.Design {
    class Commands extends Jade.CommandGroup<Jade.ICommandState> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class DocumentCloseCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
        private closeDocument;
    }
}
declare namespace PDJS.Canvas.Design {
    class DocumentSaveCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
        private commitSave;
    }
}
declare namespace PDJS.Canvas.Design {
    class DocumentSettingsCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class DocumentVariablesCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class ElementPropertiesCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: Jade.StateBag): void;
        onExecute(): void;
    }
}
declare namespace PDJS.Canvas.Design {
    interface IFormFieldRequiredCommandProps extends Jade.ICommandProps {
        isRequired: boolean;
    }
    class FormFieldRequiredCommand extends Jade.Command {
        constructor(options: IFormFieldRequiredCommandProps);
        private get isRequired();
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class GridlinesToggleCommand extends Jade.Command {
        private get isVisible();
        private set isVisible(value);
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Canvas.Design {
    enum LineCapShapeTarget {
        shape = 1,
        startCap = 2,
        endCap = 3
    }
    interface ILineCapShapeCommandOptions extends Jade.ICommandProps {
        id: string;
        target: LineCapShapeTarget;
    }
    interface ILineCapShapeCommandArgs {
        shape: Core.Shapes.LineCapShape;
    }
    class LineCapShapeCommand extends Jade.Command {
        constructor(options: ILineCapShapeCommandOptions);
        private get target();
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: ILineCapShapeCommandArgs): void;
    }
}
declare namespace PDJS.Canvas.Design {
    enum LineScaleType {
        increase = 1,
        decrease = 2
    }
    enum LineScaleTarget {
        shape = 1,
        line = 2,
        startCap = 3,
        endCap = 4
    }
    interface ILineScaleCommandOptions extends Jade.ICommandProps {
        id: string;
        scaling: LineScaleType;
        target: LineScaleTarget;
    }
    class LineScaleCommand extends Jade.Command {
        constructor(options: ILineScaleCommandOptions);
        private get scaling();
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: any): void;
        private scaleShape;
        private scaleLine;
        private scaleStartCap;
        private scaleEndCap;
    }
}
declare namespace PDJS.Canvas.Design {
    class RotateShapeCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: any): void;
        private rotateLeft;
        private rotateRight;
    }
}
declare namespace PDJS.Canvas.Design {
    class TabIndexCommand extends Jade.Command {
        private get document();
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        private continuePreviousOrderMessage;
        private addToExistingTabOrder;
        private startNewTabOrder;
        private updateTabIndexLabels;
    }
}
declare namespace PDJS.Canvas.Design {
    interface ITabIndexCommandArgs {
        preventToggle: boolean;
    }
    class TabIndexToggleCommand extends Jade.Command {
        private get tabOrderVisible();
        private set tabOrderVisible(value);
        private get document();
        protected onStateChanged(state: any): void;
        onExecute(e: ITabIndexCommandArgs): void;
        protected getDefaultValuesForProps(): any;
        private addTabIndexMarker;
        private removeTabIndexMarker;
        private updateLabelAndIcon;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class Chart extends ElementViewBase<PDJS.Canvas.Core.Charts.Chart> {
        private m_kendo;
        private m_status;
        private m_menu;
        protected get kendo(): kendo.dataviz.ui.Chart;
        protected set kendo(value: kendo.dataviz.ui.Chart);
        get chartNode(): JQuery;
        get status(): Shared.ElementBar;
        template(): string | Array<string> | JQuery;
        refresh(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onBrowserResize(): void;
        protected onStateChanged(): void;
        private getChartHeight;
        private getChartOptions;
        private addActionMenu;
        private getChartData;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ChartCommandBase extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get feature(): FeatureBlendJS.Models.FeatureModel;
        protected get isDocumentBased(): boolean;
        protected get templateId(): number;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ChartConstraintCommand extends ChartCommandBase {
        constructor(options: Jade.ICommandProps);
        protected get list(): PDJS.Shared.View.ConstraintsTree;
        protected get constraints(): PDJS.Core.Views.Constraints;
        protected get selectedConstraint(): PDJS.Core.Views.Constraint;
        protected get selectedNode(): JQuery;
        protected get anchors(): Core.Charts.IChartAnchors;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ChartDocumentCommand extends ChartCommandBase {
        constructor(options: Jade.ICommandProps);
        protected get list(): DocumentsList;
        protected get documentTypes(): DocumentsCollection;
        protected get selectedDocumentTypes(): Core.Charts.IDocumentTypeAnchorTypes;
        protected commit(silent?: boolean): void;
        protected updateGrid(clear?: boolean, selections?: Array<number>): void;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface QuerySettings {
        anchor?: {
            entityTypes?: {
                groups: Array<any>;
            };
            documentTypes?: {
                types: Array<any>;
            };
        };
        templateId?: string;
        templateIsDocumentBased?: boolean;
    }
    class ChartEditorBase extends FeatureBlendJS.Views.MacroEditorBase {
        protected onChartAnchorCleared(): void;
        protected onChartTemplateChanged(): void;
        protected onCreated(): void;
        protected setCommandState(state: any, options?: Jade.ISetStateOptions): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    type IFieldType = "ValueField" | "LegendField" | "CategoryField";
    class ChartFieldCommand extends ChartCommandBase {
        constructor(options: Jade.ICommandProps);
        protected get list(): FieldList;
        protected get fields(): FieldListCollection;
        protected get fieldType(): IFieldType;
        protected get sourceValue(): string;
        protected get selectedFields(): Array<IFieldListItem>;
        protected get anchors(): Core.Charts.IChartAnchors;
        protected commit(): void;
        protected updateGrid(clear?: boolean, selections?: Array<string>): void;
        private getFieldType;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ChartFilterCommand extends ChartCommandBase {
        constructor(options: Jade.ICommandProps);
        protected get constraints(): Core.Charts.ICondition;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ChartUtilities {
        static formatFieldName(data: IFieldListItem): string;
        static getQuerySettings(feature: FeatureBlendJS.Models.FeatureModel): QuerySettings;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IAnchorSelectionGridOptions extends Jade.UI.IControlOptions {
        dblClick: Function;
    }
    class AnchorSelectionGrid extends Jade.UI.Control {
        private m_grid;
        constructor(options: IAnchorSelectionGridOptions);
        private get grid();
        get searchTerm(): string;
        set searchTerm(value: string);
        get selections(): Array<any>;
        protected get dblClickCallback(): Function;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        private grid_init;
        private getGridSortOrder;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IAnchorSelectionDialogOptions extends Jade.UI.IDialogOptions {
    }
    class AnchorSelectionDialog extends Jade.UI.Dialog {
        private m_searchBox;
        private m_grid;
        constructor(options: IAnchorSelectionDialogOptions, windowOptions?: any);
        protected get okButton(): JQuery;
        protected get cancelButton(): JQuery;
        protected get grid(): AnchorSelectionGrid;
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private grid_init;
        private searchBox_init;
        private closeAndReturn;
        static open(options: IAnchorSelectionDialogOptions, windowOptions?: {}): AnchorSelectionDialog;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AnchorCommand extends ChartCommandBase {
        constructor(options: Jade.ICommandProps);
        protected get list(): AnchorsList;
        protected get anchors(): AnchorsCollection;
        protected commit(silent?: boolean): void;
        protected updateGrid(clear?: boolean, selections?: Array<number>): void;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AddAnchorCommand extends AnchorCommand {
        constructor();
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private addAnchors;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ClearAnchorsCommand extends AnchorCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(silent?: boolean): void;
        protected getDefaultValuesForProps(): any;
        private confirmClear;
        private executeClear;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AddConditionCommand extends ChartConstraintCommand {
        constructor();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AddFilterCommand extends ChartConstraintCommand {
        constructor();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ClearConstraintsCommand extends ChartConstraintCommand {
        constructor();
        setState(state: any): void;
        onExecute(silent?: boolean): void;
        protected getDefaultValuesForProps(): any;
        private confirmClear;
        private executeClear;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DuplicateFilterCommand extends ChartConstraintCommand {
        constructor();
        private get filter();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class EditFilterCommand extends ChartConstraintCommand {
        constructor();
        private get filter();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class RemoveConstraintCommand extends ChartConstraintCommand {
        constructor();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ToggleConditionCommand extends ChartConstraintCommand {
        constructor();
        private get condition();
        private get isCondition();
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AddDocumentTypeCommand extends ChartDocumentCommand {
        constructor();
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private addDocumentTypes;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ClearDocumentTypesCommand extends ChartDocumentCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(silent?: boolean): void;
        protected getDefaultValuesForProps(): any;
        private confirmClear;
        private executeClear;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DeleteDocumentTypeCommand extends ChartDocumentCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private getFallback;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AddFieldCommand extends ChartFieldCommand {
        constructor();
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private buildField;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ClearFieldsCommand extends ChartFieldCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(silent?: boolean): void;
        protected getDefaultValuesForProps(): any;
        private confirmClear;
        private executeClear;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DeleteFieldCommand extends ChartFieldCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private getFallback;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DuplicateFieldCommand extends ChartFieldCommand {
        constructor();
        private get selectedField();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class EditFieldCommand extends ChartFieldCommand {
        constructor();
        private get field();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private showEditorDialog;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class MoveFieldsDownCommand extends ChartFieldCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class MoveFieldsUpCommand extends ChartFieldCommand {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AnchorsCollection extends Jade.Collection<AnchorGroup> {
        constructor(data: Array<IAnchorGroup>);
        toJSON(): any;
    }
    interface IAnchorGroup {
        types: Array<IAnchorType>;
    }
    class AnchorGroup {
        private m_types;
        constructor(options?: IAnchorGroup);
        get types(): AnchorTypeCollection;
        toJSON(): any;
    }
    class AnchorTypeCollection extends Jade.Collection<AnchorType> {
        constructor(data: Array<IAnchorType>);
        add(item: AnchorType): boolean;
        exists(item: AnchorType): boolean;
        toJSON(): any;
    }
    interface IAnchorType {
        id: number;
        name: string;
    }
    class AnchorType {
        private m_id;
        private m_name;
        constructor(options: IAnchorType);
        get id(): number;
        set id(value: number);
        get name(): string;
        set name(value: string);
        toJSON(): any;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AnchorsEditor extends ChartEditorBase {
        private m_list;
        private m_anchors;
        private m_toolbar;
        private get anchors();
        private set anchors(value);
        private get sourceAnchors();
        private set sourceAnchors(value);
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onCreated(): void;
        protected onChartTemplateChanged(): void;
        protected setCommandState(): void;
        private list_init;
        private toolbar_init;
        private showMessage;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AnchorsEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class AnchorsEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IAnchorsListOptions extends Jade.UI.IControlOptions {
        anchors: AnchorsCollection;
        change?: Function;
    }
    class AnchorsList extends Jade.UI.Control {
        private m_completeEventFired;
        private m_grid;
        private m_anchors;
        constructor(options: IAnchorsListOptions);
        get anchors(): AnchorsCollection;
        get grid(): PD.Web.UI.Controls.Grid;
        private get gridNode();
        private get changeCallback();
        template(): string | Array<string> | JQuery;
        redraw(): void;
        getSelected(): Core.Charts.IDocumentTypeAnchorTypes;
        refresh(clear?: boolean, selections?: Array<number>): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private grid_init;
        private getDataItemIndex;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IMessageOptions extends Jade.UI.IControlOptions {
        message?: string;
        icon?: string;
    }
    class Message extends Jade.UI.Control {
        constructor(options: IMessageOptions);
        get message(): string;
        set message(value: string);
        get messageNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IAnchorMessageOptions extends PDJS.Shared.UI.Controls.IMessageOptions {
        clickFieldLink?: Function;
    }
    class AnchorsMessage extends PDJS.Shared.UI.Controls.Message {
        constructor(options?: IAnchorMessageOptions);
        private get clickFieldLinkCallback();
        protected onActivate(e: any): void;
        private message_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class CategoriesEditor extends ChartEditorBase {
        private m_list;
        private m_toolbar;
        private m_fields;
        private get fields();
        private get list();
        private get styleButton();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onChartAnchorCleared(): void;
        focus(): void;
        private list_init;
        private toolbar_init;
        protected setCommandState(): void;
        private showMessage;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class CategoriesEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class CategoriesEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ConstraintsEditor extends ChartEditorBase {
        private m_tree;
        private m_constraints;
        private m_toolbar;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onCreated(): void;
        protected onChartAnchorCleared(): void;
        private tree_init;
        private toolbar_init;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ConstraintsEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ConstraintsEditorContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ConstraintsEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DocumentsCollection extends Jade.Collection<PDJS.Canvas.Core.Charts.IDocumentTypeAnchorItem> {
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DocumentsEditor extends ChartEditorBase {
        private m_list;
        private m_documentTypes;
        private m_toolbar;
        get documentTypes(): DocumentsCollection;
        set documentTypes(value: DocumentsCollection);
        private get sourceDocumentTypes();
        private set sourceDocumentTypes(value);
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onCreated(): void;
        protected onChartTemplateChanged(): void;
        protected setCommandState(): void;
        private list_init;
        private toolbar_init;
        private showMessage;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DocumentsEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class DocumentsEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IDocumentsListOptions extends Jade.UI.IControlOptions {
        documentTypes: DocumentsCollection;
        change?: Function;
    }
    class DocumentsList extends Jade.UI.Control {
        private m_completeEventFired;
        private m_grid;
        private m_documentTypes;
        constructor(options: IDocumentsListOptions);
        get documentTypes(): DocumentsCollection;
        get grid(): PD.Web.UI.Controls.Grid;
        private get gridNode();
        private get changeCallback();
        template(): string | Array<string> | JQuery;
        redraw(): void;
        getSelected(): Core.Charts.IDocumentTypeAnchorTypes;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IFieldMessageOptions extends PDJS.Shared.UI.Controls.IMessageOptions {
        clickFieldLink?: Function;
    }
    class DocumentsMessage extends PDJS.Shared.UI.Controls.Message {
        constructor(options?: IFieldMessageOptions);
        private get clickFieldLinkCallback();
        protected onActivate(e: any): void;
        private message_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class FoundInEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        private get grid();
        private set grid(value);
        private get gridNode();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class LegendEditor extends ChartEditorBase {
        private m_list;
        private m_toolbar;
        private m_fields;
        private get fields();
        private get list();
        private get styleButton();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onChartAnchorCleared(): void;
        protected setCommandState(): void;
        private list_init;
        private toolbar_init;
        private showMessage;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class LegendEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class LegendEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class OverviewEditor extends ChartEditorBase {
        private m_title;
        private m_dataSource;
        private m_seriesType;
        private m_stacked;
        private get title();
        private set title(value);
        private get dataSource();
        private set dataSource(value);
        private get seriesType();
        private get stacked();
        private set stacked(value);
        private get dataSourceList();
        private get seriesTypeList();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private title_init;
        private dataSource_init;
        private seriesType_init;
        private stacked_init;
        private setSeriesType;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ValuesEditor extends ChartEditorBase {
        private m_list;
        private m_toolbar;
        private m_fields;
        private get fields();
        private get list();
        private get styleButton();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onChartAnchorCleared(): void;
        focus(): void;
        private list_init;
        private toolbar_init;
        protected setCommandState(): void;
        private showMessage;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ValuesEditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    class ValuesEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IFieldListOptions extends Jade.UI.IControlOptions {
        fields: FieldListCollection;
        dblClick?: Function;
        change?: Function;
    }
    class FieldList extends Jade.UI.Control {
        private m_grid;
        private m_toolbar;
        constructor(options: IFieldListOptions);
        get fields(): FieldListCollection;
        get grid(): PD.Web.UI.Controls.Grid;
        private get gridNode();
        private get changeCallback();
        private get dblClickCallback();
        template(): string | Array<string> | JQuery;
        redraw(): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    enum FieldListShiftType {
        Up = 0,
        Down = 1
    }
    interface IFieldListShiftArgs {
        index: number;
        field: IFieldListItem;
        movingFieldIds: Array<string>;
        movingFields: Array<IFieldListItem>;
    }
    interface IFieldListCollectionOptions {
        data: Array<IFieldListItem>;
        add?: Function;
        remove?: Function;
        clear?: Function;
    }
    interface IFieldListItem {
        aggregateFunctionId?: string;
        aggregateFunctionName?: string;
        id: string;
        columnId?: string;
        columnName?: string;
        nullValue?: string;
        scalarFunctionId?: string;
        scalarFunctionName?: string;
    }
    class FieldListCollection {
        private m_list;
        constructor(options: IFieldListCollectionOptions);
        get list(): Array<IFieldListItem>;
        private set list(value);
        private get count();
        add(item: IFieldListItem): void;
        remove(ids: Array<string>): void;
        clear(): void;
        data(): Array<IFieldListItem>;
        shift(shiftType: FieldListShiftType, movingIds: Array<string>): void;
        toArray(): Array<IFieldListItem>;
        getIndex(item: IFieldListItem): number;
        getAtIndex(index: number): IFieldListItem;
        getById(id: string): IFieldListItem;
        update(item: IFieldListItem): void;
        private executeShift;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IFieldMessageOptions extends PDJS.Shared.UI.Controls.IMessageOptions {
        clickFieldLink?: Function;
    }
    class FieldMessage extends PDJS.Shared.UI.Controls.Message {
        constructor(options?: IFieldMessageOptions);
        private get clickFieldLinkCallback();
        protected onActivate(e: any): void;
        private message_init;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IFieldSelectionDialogOptions extends Jade.UI.IDialogOptions {
        isDocumentBased: boolean;
        anchors: Core.Charts.IChartAnchors;
        templateId: number;
        filterable: boolean;
    }
    class FieldSelectionDialog extends Jade.UI.Dialog {
        private m_searchBox;
        private m_grid;
        constructor(options: IFieldSelectionDialogOptions, windowOptions?: any);
        protected get anchors(): Core.Charts.IChartAnchors;
        protected get isDocumentBased(): boolean;
        protected get templateId(): number;
        protected get okButton(): JQuery;
        protected get cancelButton(): JQuery;
        protected get searchTerm(): string;
        protected set searchTerm(value: string);
        protected get maxDepth(): number;
        protected set maxDepth(value: number);
        protected get gridLabelNode(): JQuery;
        protected get searchCategoryNode(): JQuery;
        protected get searchDepthNode(): JQuery;
        protected get grid(): FieldSelectionGrid;
        protected get filterable(): boolean;
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private getDepth;
        private getDepthWithNoAnchor;
        private getDepthWithAnchor;
        private getDepthNames;
        private grid_init;
        private searchBox_init;
        private searchCategories_init;
        private searchCategories_onChange;
        private searchDepth_init;
        private updateGridLabel;
        private isCategoryGroup;
        private refreshGrid;
        private dialog_init;
        private closeAndReturn;
        static open(options: IFieldSelectionDialogOptions): FieldSelectionDialog;
    }
}
declare namespace PDJS.Canvas.Design.Charts {
    interface IFieldSeletionGridSetParametersArgs {
        anchors: Core.Charts.IChartAnchors;
        isReferenceGroup: boolean;
        searchTerm: string;
        templateId: number;
        category: number;
        depth: number;
    }
    interface IFieldSeletionGridItem {
        foundIn: string;
        id: string;
        name: string;
        sources: Array<string>;
        usedBy: string;
    }
    interface IFieldSelectionGridOptions extends Jade.UI.IControlOptions {
        anchors: Core.Charts.IChartAnchors;
        isReferenceGroup: boolean;
        searchTerm: string;
        templateId: number;
        category: number;
        depth: number;
        dblClick: Function;
        filterable: boolean;
    }
    class FieldSelectionGrid extends Jade.UI.Control {
        private m_grid;
        constructor(options: IFieldSelectionGridOptions);
        private get grid();
        protected get anchors(): Core.Charts.IEntityTypeAnchors;
        protected get isReferenceGroup(): boolean;
        protected get searchTerm(): string;
        protected get templateId(): number;
        protected get category(): number;
        protected get filterable(): boolean;
        protected get depth(): number;
        get selections(): Array<any>;
        protected get dblClickCallback(): Function;
        template(): string | Array<string> | JQuery;
        setParameters(args: IFieldSeletionGridSetParametersArgs): void;
        protected onActivate(e: any): void;
        private grid_init;
        private getGridSortOrder;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class Button extends ElementViewBase<PDJS.Canvas.Core.Common.Button> {
        get buttonNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class Hyperlink extends ElementViewBase<PDJS.Canvas.Core.Common.Hyperlink> {
        get linkNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class ImageButton extends ElementViewBase<PDJS.Canvas.Core.Common.ImageButton> {
        get imageNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
        private getImageUrl;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class Markup extends ElementViewBase<PDJS.Canvas.Core.Common.Markup> {
        get contentNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
        private noContentMessage;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class Report extends ElementViewBase<Core.Common.Report> {
        private m_status;
        private m_menu;
        private get reportNode();
        get status(): Shared.ElementBar;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private getReportSummaryText;
    }
}
declare namespace PDJS.Canvas.Design.Common {
    class Text extends ElementViewBase<Core.Common.Text> {
        get contentNode(): JQuery;
        get containerNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
        private noContentMessage;
    }
}
declare namespace PDJS.Canvas.Design {
    enum ContextMenuType {
        ColorPalette = "color-palette",
        View = "view"
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class AlignmentContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class ColorPaletteContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class ElementContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class LineEndCapShapeMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class LineStartCapShapeMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class ShapeBorderContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
    class BorderStyleContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
    class BorderWeightContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class TabIndexContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.ContextMenu {
    class ViewContextMenuGroup extends Jade.UI.Controls.ContextMenuGroup {
        constructor();
        private get view();
        protected onPopulate(): void;
        protected meetsLoadConditions(): boolean;
    }
}
declare namespace PDJS.Canvas.Design {
    class BorderStyleContextMenuItem extends Jade.UI.Controls.ContextMenuItemTemplate {
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Design.Dialogs {
    interface IAutoArrangeDialogOptions extends Jade.UI.IDialogOptions {
    }
    class AutoArrangeDialog extends Jade.UI.Dialog {
        private m_columnCount;
        private m_columnWidth;
        private m_columnSpacing;
        private m_rowSpacing;
        constructor(options: IAutoArrangeDialogOptions);
        private get cancelButton();
        private get okButton();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IAutoArrangeDialogOptions): AutoArrangeDialog;
        private okButton_onClick;
        private cancelButton_onClick;
        private columnCount_init;
        private columnWidth_init;
        private columnSpacing_init;
        private rowSpacing_init;
        private validate;
        private isValid;
        private okAndClose;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    interface ISetCanvasVariablesArgs {
        $list?: VariableList;
    }
    class CommandState {
        static setCanvasVariables(args: ISetCanvasVariablesArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    enum Events {
        CanvasVariablesUpdated = "canvas/variables/updated"
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    interface IVariablesDialogOptions extends Jade.UI.IDialogOptions {
    }
    class VariablesDialog extends Jade.UI.Dialog {
        private m_list;
        private m_toolbarList;
        private m_toolbarEditor;
        private m_splitter;
        constructor(options: IVariablesDialogOptions);
        private get cancelButton();
        private get okButton();
        get splitter(): kendo.ui.Splitter;
        get splitterNode(): JQuery;
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        onResize(): void;
        static open(options: IVariablesDialogOptions): VariablesDialog;
        private splitter_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private okAndClose;
        private grid_init;
        private toolbars_init;
        private setCommandState;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    interface IVariableListOptions extends Jade.UI.IControlOptions {
        select: (e: PDJS.Canvas.Core.Dynamics.ICanvasVariable) => void;
    }
    class VariableList extends Jade.UI.Control {
        private m_types;
        private m_sources;
        private m_grid;
        constructor(options: IVariableListOptions);
        private get selectCallback();
        get grid(): PD.Web.UI.Controls.Grid;
        template(): string | Array<string> | JQuery;
        refresh(e: PD.Web.UI.Controls.IGridRefreshOptions): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        static get variables(): Core.Dynamics.VariableCollection;
        static get sourceVariables(): Core.Dynamics.VariableCollection;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    interface IVariableListItemOptions extends Jade.UI.IControlOptions {
        name: string;
        description: string;
    }
    class VariableListItem extends Jade.UI.Control {
        constructor(options: IVariableListItemOptions);
        private get name();
        private get description();
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariablesListToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableCommand extends Jade.Command {
        constructor(props?: Jade.ICommandProps);
        protected get selections(): Array<Core.Dynamics.ICanvasVariable>;
        protected get list(): VariableList;
        protected get grid(): PD.Web.UI.Controls.Grid;
        protected setCommandState(): void;
        protected updateGrid(selections?: Array<Core.Dynamics.ICanvasVariable>): void;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableClearCommand extends VariableCommand {
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableCommands extends Jade.CommandGroup<Jade.ICommandState> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableCreateCommand extends VariableCommand {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableDeleteCommand extends VariableCommand {
        setState(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Dynamics {
    class VariableEditCommand extends VariableCommand {
        private get variable();
        setState(state: any, options: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    abstract class FormElementBase<T extends PDJS.Canvas.Core.Forms.FormElement> extends ElementViewBase<T> {
        constructor(options: CanvasJS.IElementViewOptions<T>);
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class FormButton extends FormElementBase<PDJS.Canvas.Core.Forms.FormButton> {
        private get buttonNode();
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class FormField extends FormElementBase<Core.Forms.FormField> {
        private m_deck;
        get formId(): string;
        get label(): string;
        get labelNode(): JQuery;
        protected get controlNode(): JQuery;
        protected get formFieldNode(): JQuery;
        protected get deck(): FormFieldDeck;
        template(): string | Array<string> | JQuery;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private deck_init;
    }
    abstract class FormFieldBase<T extends Core.Forms.FormField> extends FormField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    abstract class BuiltInField extends FormFieldBase<Core.Forms.BuiltInField> {
    }
    abstract class BuildInFieldBase<T extends Core.Forms.BuiltInField> extends BuiltInField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    abstract class ExtensionField extends FormFieldBase<Core.Forms.ExtensionField> {
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
    abstract class ExtensionFieldBase<T extends Core.Forms.ExtensionField> extends ExtensionField {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityDescriptionField extends BuildInFieldBase<Core.Forms.EntityDescriptionField> {
        private get inputNode();
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityIconField extends BuildInFieldBase<Core.Forms.EntityIconField> {
        private m_comboBox;
        private get comboBox();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityNameField extends BuildInFieldBase<Core.Forms.EntityNameField> {
        private get inputNode();
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityParentField extends BuildInFieldBase<Core.Forms.EntityParentField> {
        private m_navigate;
        private m_comboBox;
        private get comboBox();
        private get navigate();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
        private navigate_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityProcessField extends BuildInFieldBase<Core.Forms.EntityProcessField> {
        private m_assignment;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class BooleanField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.BooleanField> {
        get itemLabelNode(): JQuery;
        get checkboxNode(): JQuery;
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class DateField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.DateField> {
        private m_dateBox;
        get dateBox(): PDJS.Shared.UI.Controls.DateTextBox;
        get itemLabelNode(): JQuery;
        get checkboxNode(): JQuery;
        get formatExample(): Date;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private dateBox_init;
        private setFormat;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class DecimalField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.DecimalField> {
        private m_numericTextBox;
        private get format();
        private get numericBox();
        get formatExample(): number;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private numericBox_init;
        private setFormat;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class EntityField extends ExtensionFieldBase<Core.Forms.EntityField> {
        private m_navigate;
        private m_comboBox;
        private get comboBox();
        private get navigate();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
        private navigate_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class Int32Field extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.Int32Field> {
        private m_numericTextBox;
        private get format();
        private get numericBox();
        get formatExample(): number;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private numericBox_init;
        private setFormat;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class Int64Field extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.Int64Field> {
        private m_numericTextBox;
        private get format();
        private get numericBox();
        get formatExample(): number;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private numericBox_init;
        private setFormat;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class MultiSelectField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.MultiSelectField> {
        private m_multiSelect;
        private get multiSelect();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        template(): string | Array<string> | JQuery;
        private multiSelect_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class SingleSelectField extends ExtensionFieldBase<Core.Forms.SingleSelectField> {
        private m_comboBox;
        private get comboBox();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class StringField extends ExtensionFieldBase<PDJS.Canvas.Core.Forms.StringField> {
        private get inputNode();
        onAttach(e: Jade.UI.ControlEventArgs): void;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private createInput;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class UserField extends ExtensionFieldBase<Core.Forms.UserField> {
        private m_comboBox;
        private get comboBox();
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private comboBox_init;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class FormFieldDeckItem extends Jade.UI.Control {
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    interface IExtensionFieldBatchEditOptions extends Jade.UI.IControlOptions {
        extensionField: ExtensionField;
    }
    class FormFieldBatchEdit extends FormFieldDeckItem {
        constructor(options: IExtensionFieldBatchEditOptions);
        get extensionField(): ExtensionField;
        get checkBoxNode(): JQuery;
        private get isVisible();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    interface IFormFieldDeckOptions extends Jade.UI.IControlOptions {
    }
    class FormFieldDeck extends Jade.UI.Control {
        constructor(options: IFormFieldDeckOptions);
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    interface IFormFieldToolTipOptions extends Jade.UI.IControlOptions {
        formField: FormField;
    }
    class FormFieldToolTip extends FormFieldDeckItem {
        constructor(options: IFormFieldToolTipOptions);
        get formField(): FormField;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Views {
    interface IViewComponent {
        viewStateId: string;
    }
    class IViewComponentGuard extends Jade.InterfaceGuard {
        get signature(): Jade.IInterfaceSignature;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    class BatchField extends FormFieldBase<Core.Forms.BatchField> implements Shared.Views.IViewComponent {
        private m_batch;
        get batch(): PDJS.Shared.UI.Controls.BatchField;
        get viewStateId(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private batch_init;
        private batch_populate;
    }
}
declare namespace PDJS.Canvas.Design.Forms {
    abstract class TextField extends FormFieldBase<Core.Forms.TextField> {
        private get inputNode();
        protected onAttach(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private createInput;
    }
}
declare namespace PDJS.Canvas.Design.Process {
    class DecisionButton extends ElementViewBase<PDJS.Canvas.Core.Process.DecisionButton> {
        get buttonNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Process {
    class ProcessDecisions extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessState> {
        private m_view;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private getDesignerData;
    }
}
declare namespace PDJS.Canvas.Design.Process {
    class ProcessState extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessState> {
        private m_view;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private getDesignerData;
        private setDimensions;
    }
}
declare namespace PDJS.Canvas.Design.Process {
    class ProcessView extends ElementViewBase<PDJS.Canvas.Core.Process.ProcessView> {
        private m_view;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private getDesignerData;
        private setDecisionDestinationVisibility;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ArrangeRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ClipboardRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ElementRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class DocumentRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class FormFieldBehaviorRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class FormFieldRequiredRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class GroupingRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class LineRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class StyleRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class TriangleRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ViewRibbonGroup extends Jade.UI.Controls.RibbonBarGroup {
        constructor();
        get alwaysShow(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class FormFieldRibbonSection extends Jade.UI.Controls.RibbonBarSection {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class HomeRibbonSection extends Jade.UI.Controls.RibbonBarSection {
        constructor();
        get alwaysShow(): boolean;
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ShapeRibbonSection extends Jade.UI.Controls.RibbonBarSection {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.RibbonBar {
    class ViewRibbonSection extends Jade.UI.Controls.RibbonBarSection {
        constructor();
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design {
    class ShapeRibbonSet extends Jade.UI.Controls.RibbonBarSet {
        constructor(options: Jade.UI.Controls.IRibbonBarSetOptions);
        protected onPopulate(): void;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    abstract class Shape extends CanvasJS.Design.ElementDesignViewBase<PDJS.Canvas.Core.Shapes.Shape> {
    }
    class ShapeBase<T extends PDJS.Canvas.Core.Shapes.Shape> extends Shape {
        get source(): T;
        get containerNode(): JQuery;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    class Ellipse extends ShapeBase<Core.Shapes.Ellipse> {
        private m_shape;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    class Line extends CanvasJS.Design.ElementDesignViewBase<Core.Shapes.Line> {
        private m_shape;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    class Rectangle extends ShapeBase<Core.Shapes.Rectangle> {
        private m_shape;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    abstract class Triangle extends ShapeBase<Core.Shapes.Triangle> {
    }
    class TriangleBase<T extends Core.Shapes.Triangle> extends Triangle {
        get source(): T;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    class IsoscelesTriangle extends TriangleBase<Core.Shapes.IsoscelesTriangle> {
        private m_shape;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.Shapes {
    class RightTriangle extends TriangleBase<Core.Shapes.RightTriangle> {
        private m_shape;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Design.StatusBar {
    class Errors extends Jade.UI.Control {
        private m_erroredElements;
        private m_errorsList;
        constructor(options: Jade.UI.IControlOptions);
        get erroredElements(): Jade.MappedCollection<ElementView>;
        get errorsList(): ErrorsList;
        get labelNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private getErroredElements;
        private setIconAndText;
    }
}
declare namespace PDJS.Canvas.Design.StatusBar {
    interface IErrorsListOptions extends Jade.UI.IControlOptions {
        anchor: JQuery;
    }
    class ErrorsList extends Jade.UI.Control {
        constructor(options: IErrorsListOptions);
        private get anchor();
        get popUpNode(): JQuery;
        get itemsNode(): JQuery;
        get closeNode(): JQuery;
        show(): void;
        hide(): void;
        toggle(): void;
        refresh(erroredElements: Jade.MappedCollection<ElementView>): void;
        destroy(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private createPopUp;
    }
}
declare namespace PDJS.Canvas.Design.StatusBar {
    interface IErrorsListItemOptions extends Jade.UI.IControlOptions {
        element: ElementView;
    }
    class ErrorsListItem extends Jade.UI.Control {
        constructor(options: IErrorsListItemOptions);
        private get element();
        private get itemsNode();
        private get buttonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private onClick;
        private resolveOnClick;
        private deleteElement;
        private recoverElement;
        private selectElement;
        private setIcon;
    }
}
declare namespace PDJS.Canvas.Design.ToolBox {
    interface IConstructStatesArgs {
        items: Array<any>;
        x: number;
        y: number;
    }
    class ToolBoxAction extends CanvasJS.Design.ToolBoxAction {
        protected createStates(args: IConstructStatesArgs): void;
        protected createState(item: CanvasJS.IElementModel): CanvasJS.IElementModel;
        protected initElements(states: Array<CanvasJS.IElementModel>): void;
        protected createElements(states: Array<CanvasJS.IElementModel>): void;
        protected createElement(state: CanvasJS.IElementModel): ElementView;
        protected appendElements(elements: Array<ElementView>): void;
    }
}
declare namespace PDJS.Canvas.Design.ToolBox {
    class BatchFieldAction extends ToolBoxAction {
        private m_batchFieldType;
        private get instance();
        private get batchFieldType();
        private set batchFieldType(value);
        execute(e: CanvasJS.Design.IToolBoxItemExecuteArgs): void;
        protected createState(item: CanvasJS.IElementModel): CanvasJS.IElementModel;
        protected createElement(state: CanvasJS.IElementModelState): ElementView;
    }
}
declare namespace PDJS.Canvas.Design.ToolBox {
    enum BatchFieldType {
        Entities = 0,
        Identities = 1
    }
    interface IBatchFieldActionDialogOptions extends Jade.UI.IDialogOptions {
    }
    interface IBatchFieldActionSeletionResult {
        batchFieldType: BatchFieldType;
    }
    class BatchFieldActionDialog extends Jade.UI.Dialog {
        private m_selection;
        constructor(options: IBatchFieldActionDialogOptions);
        private get entitiesButton();
        private get identitiesButton();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | JQuery | Array<string>;
        protected getWindowOptions(): any;
        private entitiesButton_onClick;
        private identitiesButton_onClick;
        private returnSelected;
        static open(options: IBatchFieldActionDialogOptions): BatchFieldActionDialog;
    }
}
declare namespace PDJS.Canvas.Design.ToolBox {
    class FormFieldAction extends ToolBoxAction {
        private get fieldMap();
        execute(e: CanvasJS.Design.IToolBoxItemExecuteArgs): void;
        protected createState(item: CanvasJS.IElementModel): CanvasJS.IElementModel;
        protected createElement(state: CanvasJS.IElementModelState): ElementView;
    }
}
declare namespace PDJS.Canvas.Design.ToolBox {
    interface IFormFieldActionDialogOptions extends Jade.UI.IDialogOptions {
        extensionId?: number;
        canvasType: Core.CanvasType;
    }
    export interface IFormFieldSelectionDialogResult {
        columnId: string;
        columnName: string;
        columnFormat: string;
        fieldType: string;
    }
    export class FormFieldActionDialog extends Jade.UI.Dialog {
        constructor(options: IFormFieldActionDialogOptions);
        private get grid();
        private get canvasType();
        private get extensionId();
        private get okButton();
        private get cancelButton();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | JQuery | Array<string>;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private grid_onActivate;
        private returnSelected;
        static open(options: IFormFieldActionDialogOptions): FormFieldActionDialog;
    }
    export {};
}
declare namespace PDJS.Canvas.Design.ToolBox {
    class ToolBoxElementValidated extends CanvasJS.Design.ToolBoxElement {
        execute(e: CanvasJS.Design.IToolBoxItemExecuteArgs): void;
        private validateState;
    }
}
declare namespace PDJS.Canvas.Shared.Views {
    interface IViewComponentGrid {
        grid: PD.Web.UI.Controls.ViewGrid;
    }
    class IViewComponentGridGuard extends Jade.InterfaceGuard {
        get signature(): Jade.IInterfaceSignature;
    }
}
declare namespace PDJS.Canvas.Design.Views {
    class EventHistoryView extends ElementViewBase<PDJS.Canvas.Core.Views.EventHistoryView> implements Shared.Views.IViewComponent, Shared.Views.IViewComponentGrid {
        private m_grid;
        get grid(): PD.Web.UI.Controls.ViewGrid;
        get viewStateId(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        onResize(): void;
        private grid_init;
        private redrawGrid;
    }
}
declare namespace PDJS.Canvas.Shared {
    enum CanvasCss {
        FormField = "-pdjs-canvas-form-field",
        FormFieldFocus = "-pdjs-canvas-form-field-focus",
        FormFieldAnimationTarget = "-pdjs-canvas-form-field-animation-target",
        SingleSelectField = "-pdjs-canvas-ssl-field",
        MultiSelectField = "-pdjs-canvas-msl-field",
        EntityField = "-pdjs-canvas-entity-field",
        UserField = "-pdjs-canvas-user-field",
        StringField = "-pdjs-canvas-string-field",
        BooleanField = "-pdjs-canvas-boolean-field",
        DateField = "-pdjs-canvas-date-field",
        NumericField = "-pdjs-canvas-numeric-field",
        TextElement = "-pdjs-text-element",
        BatchField = "-pdjs-batch-field",
        Disabled = "-pdjs-disabled"
    }
}
declare namespace PDJS.Canvas.Shared {
    interface IElementBarOptions extends Jade.UI.IControlOptions {
        source: PDJS.Canvas.Core.CachedElement;
        visible: boolean;
        showRefresh: boolean;
        onRefresh: () => void;
    }
    class ElementBar extends Jade.UI.Control {
        constructor(options: IElementBarOptions);
        get source(): PDJS.Canvas.Core.CachedElement;
        cacheLastUpdatedFormatted(): string;
        get visible(): boolean;
        set visible(value: boolean);
        get showRefresh(): boolean;
        set showRefresh(value: boolean);
        get onRefreshCallback(): () => void;
        private get refreshNode();
        template(): string | Array<string> | JQuery;
        update(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private updateUI;
    }
}
declare namespace PDJS.Canvas.Shared {
}
declare namespace PDJS.Canvas.Shared {
    enum ElementMenuPosition {
        topLeft = 0,
        topRight = 1,
        bottomLeft = 2,
        bottomRight = 3
    }
    interface IElementMenuOptions extends Jade.UI.IControlOptions {
        position?: ElementMenuPosition;
        visible?: boolean;
        loaded?: () => void;
    }
    class ElementMenu extends Jade.UI.Control {
        private m_items;
        private m_popUp;
        constructor(options: IElementMenuOptions);
        get visible(): boolean;
        set visible(value: boolean);
        get position(): ElementMenuPosition;
        set position(value: ElementMenuPosition);
        get items(): Jade.ObservableMappedCollection<ElementMenuItem>;
        get loadedCallback(): () => void;
        get popUp(): ElementMenuPopUp;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private positionTop;
        private positionBottom;
        private positionLeft;
        private positionRight;
    }
}
declare namespace PDJS.Canvas.Shared {
    interface IElementMenuItemOptions extends Jade.UI.IControlOptions {
        menu?: ElementMenu;
        visible?: boolean;
        show?: (e: ElementMenuItem) => void;
    }
    class ElementMenuItem extends Jade.UI.Control {
        private m_menu;
        constructor(options: IElementMenuItemOptions);
        get menu(): ElementMenu;
        set menu(value: ElementMenu);
        get visible(): boolean;
        set visible(value: boolean);
        get showCallback(): (e: ElementMenuItem) => void;
        show(): void;
    }
}
declare namespace PDJS.Canvas.Shared {
    interface IElementMenuItemActionOptions extends IElementMenuItemOptions {
        icon?: string;
        label?: string;
        click?: () => void;
    }
    class ElementMenuItemAction extends ElementMenuItem {
        constructor(options: IElementMenuItemActionOptions);
        get icon(): string;
        set icon(value: string);
        get label(): string;
        set label(value: string);
        get clickCallback(): () => void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared {
    interface IElementMenuItemBoardOptions extends IElementMenuItemOptions {
        template?: string;
    }
    class ElementMenuItemBoard extends ElementMenuItem {
        constructor(options: IElementMenuItemBoardOptions);
        get content(): string;
        set content(value: string);
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared {
    interface IElementMenuPopUpOptions extends Jade.UI.IControlOptions {
        show?: () => void;
        hide?: () => void;
        init?: () => void;
        anchor?: JQuery;
    }
    class ElementMenuPopUp extends Jade.UI.Control {
        private m_items;
        constructor(options: IElementMenuPopUpOptions);
        private get anchor();
        get hideCallback(): () => void;
        get showCallback(): () => void;
        get initCallback(): () => void;
        hide(): void;
        show(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    class ChartOptions {
        private m_state;
        private m_style;
        constructor(options: any);
        protected get state(): Jade.StateBag;
        protected get style(): ChartStyle;
        protected get styleSource(): IChartStyle;
        protected get data(): IChartData;
        protected get series(): Array<IStandardChartSeries>;
        protected get categories(): Array<IStandardChartCategory>;
        getOptions(): kendo.dataviz.ui.ChartOptions;
        protected getCategoryAxis(): any;
        protected getSeries(): any;
        protected getValueAxis(): kendo.dataviz.ui.ChartValueAxisItem;
        protected getSeriesDefaults(): kendo.dataviz.ui.ChartSeriesDefaults;
        protected getTooltip(): kendo.dataviz.ui.ChartTooltip;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    class ChartOptionsFactory {
        static create(data: any): ChartOptions;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    interface IChartStyleOptions {
        data: any;
    }
    class ChartStyle {
        private m_state;
        constructor(options: IChartStyleOptions);
        protected get state(): Jade.StateBag;
        protected get style(): IChartStyle;
        get categoryAxis(): kendo.dataviz.ui.ChartCategoryAxisItem;
        get chartArea(): kendo.dataviz.ui.ChartChartArea;
        get legend(): kendo.dataviz.ui.ChartLegend;
        get plotArea(): kendo.dataviz.ui.ChartPlotArea;
        get seriesDefaults(): kendo.dataviz.ui.ChartSeriesDefaults;
        get title(): kendo.dataviz.ui.ChartValueAxisItem;
        get tooltip(): kendo.dataviz.ui.ChartTooltip;
        get valueAxis(): kendo.dataviz.ui.ChartValueAxisItem;
        protected getCategoryAxis(): kendo.dataviz.ui.ChartCategoryAxisItem;
        protected getChartArea(): kendo.dataviz.ui.ChartChartArea;
        protected getLegend(): kendo.dataviz.ui.ChartLegend;
        protected getPlotArea(): kendo.dataviz.ui.ChartPlotArea;
        protected getSeriesDefaults(): kendo.dataviz.ui.ChartSeriesDefaults;
        protected getTitle(): kendo.dataviz.ui.ChartTitle;
        protected getValueAxis(): kendo.dataviz.ui.ChartValueAxisItem;
        protected getTooltip(): kendo.dataviz.ui.ChartTooltip;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    interface IChartOptions {
        style: {
            categoryAxis: any;
        };
        data: IChartData;
    }
    interface IChartStyle {
        categoryAxis: ICategoryAxisStyle;
        chartArea: IChartAreaStyle;
        legend: IChartLegendStyle;
        plotArea: IChartPlotAreaStyle;
        series: IChartSeriesDefaults;
        title: IChartTitleStyle;
        valueAxis: IValueAxisStyle;
        tooltip: IChartTooltipStyle;
    }
    interface IChartData {
        categories: any;
        series: any;
    }
    interface ICategoryAxisStyle {
        labels?: {
            color?: string;
            fontSize?: string;
            fontName?: string;
            rotation?: number;
            visible?: boolean;
        };
        line?: {
            color?: string;
            width?: number;
            visible?: boolean;
        };
        majorGridLines?: {
            color?: string;
            dashType?: string;
            visible?: boolean;
            tickMarks?: boolean;
        };
        minorGridLines?: {
            color?: string;
            dashType?: string;
            visible?: boolean;
            tickMarks?: boolean;
        };
        title?: {
            color?: string;
            fontSize?: string;
            fontName?: string;
            position?: string;
            text?: string;
            rotation?: number;
            visible?: boolean;
        };
    }
    interface IChartAreaStyle {
        height?: number;
        width?: number;
        backColor?: string;
        borderColor?: string;
        borderStyle?: string;
        borderWidth?: number;
    }
    interface IChartLegendStyle {
        position?: string;
        visible?: boolean;
        border?: {
            color?: string;
            width?: number;
        };
        labels?: {
            color?: string;
            fontSize?: number;
            fontName?: string;
        };
    }
    interface IChartPlotAreaStyle {
        backColor?: string;
        borderColor?: string;
        borderWidth?: number;
    }
    interface IChartSeriesDefaults {
        gradient?: "string";
        labels?: {
            backColor?: string;
            borderColor?: string;
            borderWidth?: number;
            color?: string;
            fontSize?: string;
            fontName?: string;
            padding?: number;
            visible?: boolean;
        };
        tooltip?: {
            backColor?: string;
            borderColor?: string;
            borderWidth?: number;
            color?: string;
            fontSize?: string;
            fontName?: string;
            padding?: number;
            visible?: boolean;
        };
    }
    interface IChartTitleStyle {
        align: string;
        color: string;
        fontName: string;
        fontSize: number;
        position: string;
        text: string;
        visible: boolean;
    }
    interface IChartTooltipStyle {
        visible: boolean;
        template: string;
    }
    interface IValueAxisStyle {
        labels?: {
            color?: string;
            fontSize?: string;
            fontName?: string;
            rotation?: number;
            visible?: boolean;
        };
        line?: {
            color?: string;
            width?: number;
            visible?: boolean;
        };
        majorGridLines?: {
            color?: string;
            dashType?: string;
            visible?: boolean;
            tickMarks?: boolean;
        };
        minorGridLines?: {
            color?: string;
            dashType?: string;
            visible?: boolean;
            tickMarks?: boolean;
        };
        title?: {
            color?: string;
            fontName?: string;
            fontSize?: string;
            position?: string;
            text?: string;
            rotation?: number;
            visible?: boolean;
        };
    }
    interface IStandardChartSeries {
        name?: string;
        data: Array<any>;
        format?: string;
        isDate?: boolean;
    }
    interface IStandardChartCategory {
        data: Array<any>;
        format?: string;
        isDate?: boolean;
        name?: string;
        type?: string;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    class DefaultChart extends ChartOptions {
        protected getCategoryAxis(): any;
        protected getSeries(): any;
        protected getValueAxis(): kendo.dataviz.ui.ChartValueAxisItem;
        protected getSeriesDefaults(): kendo.dataviz.ui.ChartSeriesDefaults;
        protected getDataFormatString(format: string): any;
        protected formatDateValues(src: IStandardChartCategory): IStandardChartCategory;
    }
}
declare namespace PDJS.Canvas.Shared.Charts {
    interface IPieChartSeriesDatum {
        category: string;
        value: any;
    }
    class PieChart extends ChartOptions {
        protected getSeries(): any;
        protected getDataFormatString(format: string): any;
        protected formatDateValues(src: IStandardChartCategory): IStandardChartCategory;
        protected getSeriesDefaults(): kendo.dataviz.ui.ChartSeriesDefaults;
        protected getTooltip(): kendo.dataviz.ui.ChartSeriesDefaults;
        private transformSeriesData;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    class NavigateLink extends Jade.UI.Control {
        private m_imageUrl;
        constructor(options: Jade.UI.IControlOptions);
        get entityId(): number;
        set entityId(value: number);
        get entityName(): string;
        set entityName(value: string);
        private get imageUrl();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        static setDesignDisplay(link: NavigateLink): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum ComboBoxMode {
        List = 0,
        PopUp = 1
    }
    interface IComboBoxOptions extends Jade.UI.IControlOptions {
        defaultMask?: string;
        enabled?: boolean;
        mode?: ComboBoxMode;
        data?: ComboBoxDataSource | Array<any>;
        onShowDialog?: () => void;
        onSelectionChanged?: (selection: any) => void;
        onCreateListItem?: (data: any) => ComboBoxListItem;
    }
    class ComboBox extends Jade.UI.Control {
        private m_list;
        private m_button;
        private m_input;
        private m_icon;
        private m_data;
        constructor(options: IComboBoxOptions);
        get defaultMask(): string;
        set defaultMask(value: string);
        get enabled(): boolean;
        set enabled(value: boolean);
        get data(): ComboBoxDataSource;
        get input(): MaskedTextBox;
        get list(): ComboBoxList;
        get mode(): ComboBoxMode;
        set mode(value: ComboBoxMode);
        get maskValue(): string;
        set maskValue(value: string);
        get textValue(): string;
        set textValue(value: string);
        get selection(): any;
        set selection(value: any);
        get icon(): ComboBoxIcon;
        get iconValue(): string;
        set iconValue(value: string);
        private get button();
        private get onFilterCallback();
        protected get onCreateListItemCallback(): (e: any) => ComboBoxListItem;
        private get onSelectionChangedCallback();
        private get onShowDialogCallback();
        get tabIndex(): number;
        set tabIndex(value: number);
        template(): string | Array<string> | JQuery;
        focusMask(): void;
        focusText(): void;
        hideList(): void;
        showList(): void;
        showMask(): void;
        showText(): void;
        protected getInputEvent(args: IComboBoxInputEventOptions): ComboBoxInputEvent;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected onSelectionChange(selection: any): void;
        protected onDataBind(data: Jade.IReadOnlyCollection<any>): void;
        protected onDataBound(data: Jade.IReadOnlyCollection<any>): void;
        protected onFilter(e: ComboBoxDataSourceFilterEvent): void;
        protected createDataSource(e: any): ComboBoxDataSource;
        protected createListItem(e: any): ComboBoxListItem;
        protected createList(): ComboBoxList;
        protected onShowDialog(e: JQueryEventObject): void;
        private onShowList;
        private ensureDataSource;
        private setDisplayMode;
        private triggerSelectionChange;
    }
    interface IComboBoxOptionsOf<T> extends IComboBoxOptions {
        data?: ComboBoxDataSource | Array<T>;
        onSelectionChanged?: (selection: T) => void;
    }
    class ComboBoxOf<T> extends ComboBox {
        constructor(options: IComboBoxOptionsOf<T>);
        get selection(): T;
        set selection(value: T);
        protected onSelectionChange(selection: T): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityIconFieldComboBoxItem {
        icon: string;
        name: string;
    }
    class EntityIconFieldComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IEntityIconFieldComboBoxItem> implements Core.IIndexable {
        protected onSelectionChange(selection: IEntityIconFieldComboBoxItem): void;
        protected createListItem(e: IEntityIconFieldComboBoxItem): PDJS.Shared.UI.Controls.ComboBoxListItem;
        protected onFilter(e: PDJS.Shared.UI.Controls.ComboBoxDataSourceFilterEvent): void;
        protected onShowDialog(e: JQueryEventObject): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityParentFieldValue {
        entityID: number;
        entityName: string;
        entityTypeId: number;
        entityTypeIcon: string;
        entityTypeName: string;
    }
    interface IEntityParentFieldComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
        entityTypeId: number;
    }
    class EntityParentFieldComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IEntityParentFieldValue> implements Core.IIndexable {
        constructor(options: IEntityParentFieldComboBoxOptions);
        protected get entityTypeId(): number;
        protected createListItem(data: IEntityParentFieldValue): PDJS.Shared.UI.Controls.ComboBoxListItem;
        protected onFilter(e: PDJS.Shared.UI.Controls.ComboBoxDataSourceFilterEvent): void;
        protected onSelectionChange(selection: IEntityParentFieldValue): void;
        protected onShowDialog(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityProcessFieldOptions extends Jade.UI.IControlOptions {
        entityTypeId: number;
        keyIcon: string;
        keyName: string;
        processName: string;
        stageId: number;
        stageName: string;
        statusId: number;
        statusIcon: string;
        statusName: string;
        showKey: boolean;
        showProcess: boolean;
        showStage: boolean;
        showStatus: boolean;
        tabIndex?: number;
        onChange?: () => void;
    }
    class EntityProcessField extends Jade.UI.Control {
        private m_assignment;
        constructor(options: IEntityProcessFieldOptions);
        private get assignment();
        private get entityTypeId();
        private get isUnassigned();
        private set isUnassigned(value);
        get keyIcon(): string;
        set keyIcon(value: string);
        get keyName(): string;
        set keyName(value: string);
        get keyNode(): JQuery;
        get keyNameNode(): JQuery;
        get processName(): string;
        set processName(value: string);
        get processNode(): JQuery;
        get processNameNode(): JQuery;
        get stageId(): number;
        set stageId(value: number);
        get stageIcon(): string;
        set stageIcon(value: string);
        get stageName(): string;
        set stageName(value: string);
        get stageNode(): JQuery;
        get stageNameNode(): JQuery;
        get statusId(): number;
        set statusId(value: number);
        get statusIcon(): string;
        set statusIcon(value: string);
        get statusName(): string;
        set statusName(value: string);
        get statusNode(): JQuery;
        get statusNameNode(): JQuery;
        get showKey(): boolean;
        set showKey(value: boolean);
        get showProcess(): boolean;
        set showProcess(value: boolean);
        get showStage(): boolean;
        set showStage(value: boolean);
        get showStatus(): boolean;
        set showStatus(value: boolean);
        get onChangeCallback(): () => void;
        get tabIndex(): number;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private showNode;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityProcessFieldAssignmentOptions extends Jade.UI.IControlOptions {
        tabIndex: number;
        onClick: (e: any) => void;
    }
    class EntityProcessFieldAssignment extends Jade.UI.Control {
        constructor(options: IEntityProcessFieldAssignmentOptions);
        get tabIndex(): number;
        get visible(): boolean;
        set visible(value: boolean);
        private get buttonNode();
        private get onClickCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityProcessFieldDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeId: number;
    }
    interface IEntityProcessFieldDialogResult {
        processId: number;
        processName: string;
        keyName: string;
        keyIcon: string;
        stageId: number;
        stageName: string;
        statusName: string;
        statusIcon: string;
        statusId: number;
    }
    class EntityProcessFieldDialog extends Jade.UI.Dialog {
        private m_processList;
        private m_stageTree;
        private m_statusList;
        constructor(options: IEntityProcessFieldDialogOptions);
        private get entityTypeId();
        private get processList();
        private get statusList();
        private get stageTree();
        private get okButton();
        private get cancelButton();
        template(): string | Array<string> | JQuery;
        protected getWindowOptions(): any;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private processList_init;
        private statusList_init;
        private stageTree_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private isValid;
        static open(options: IEntityProcessFieldDialogOptions): EntityProcessFieldDialog;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityProcessTreeValue {
        id: number;
        name: string;
        icon: string;
        keyId: number;
        keyIcon: string;
        keyName: string;
    }
    interface IEntityProcessTreeOptions extends Jade.UI.IControlOptions {
        processId?: number;
        height: string;
        width: string;
    }
    class EntityProcessTree extends Jade.UI.Control {
        private m_selection;
        private m_tree;
        private m_processService;
        constructor(options: IEntityProcessTreeOptions);
        get processId(): number;
        set processId(value: number);
        get height(): string;
        set height(value: string);
        get width(): string;
        set width(value: string);
        get selection(): IEntityProcessTreeValue;
        get treeNode(): JQuery;
        get stageId(): number;
        get stageIcon(): string;
        get stageName(): string;
        get keyIcon(): string;
        get keyName(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private tree_init;
        private tree_load;
        private tree_select;
        private addNoProcessMessage;
        private removeNoProcessMessage;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IEntityFieldComboBoxItem {
        entityID: number;
        entityName: string;
        entityTypeIcon: string;
        entityTypeName: string;
    }
    interface IEntityFieldSearchResults {
        count: number;
        entities: Array<IEntityFieldComboBoxItem>;
    }
    interface IEntityFieldComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
        viewId: number;
        viewStateId: string;
    }
    class EntityFieldComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IEntityFieldComboBoxItem> implements Core.IIndexable {
        constructor(options: IEntityFieldComboBoxOptions);
        protected get viewId(): number;
        protected get viewStateId(): string;
        protected onSelectionChange(selection: IEntityFieldComboBoxItem): void;
        protected createListItem(data: IEntityFieldComboBoxItem): PDJS.Shared.UI.Controls.ComboBoxListItem;
        protected onFilter(e: PDJS.Shared.UI.Controls.ComboBoxDataSourceFilterEvent): void;
        protected onShowDialog(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface ISingleSelectFieldComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
        items: Array<PDJS.Canvas.Core.Forms.ISingleSelectItem>;
    }
    class SingleSelectFieldComboBox extends PDJS.Shared.UI.Controls.ComboBox implements Core.IIndexable {
        constructor(options: ISingleSelectFieldComboBoxOptions);
        get tabIndex(): number;
        set tabIndex(value: number);
        get items(): Array<PDJS.Canvas.Core.Forms.ISingleSelectItem>;
        setSelectedItem(options: PDJS.Canvas.Core.Forms.ISingleSelectItem): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected fill(): void;
        protected onMaskFocus(): void;
        protected onInputBlur(e: JQueryKeyEventObject): void;
        protected onFilter(): void;
        protected clearFilter(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IUserFieldComboBoxItem {
        userID: number;
        userName: string;
    }
    interface IUserFieldComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
        viewId: number;
        viewStateId: string;
    }
    class UserFieldComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IUserFieldComboBoxItem> implements Core.IIndexable {
        constructor(options: IUserFieldComboBoxOptions);
        protected get viewId(): number;
        protected get viewStateId(): string;
        protected onSelectionChange(selection: IUserFieldComboBoxItem): void;
        protected createListItem(data: IUserFieldComboBoxItem): PDJS.Shared.UI.Controls.ComboBoxListItem;
        protected onFilter(e: PDJS.Shared.UI.Controls.ComboBoxDataSourceFilterEvent): void;
        protected onShowDialog(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Forms {
    interface IUserFieldComboBoxDialogOptions extends Jade.UI.IDialogOptions {
        viewStateId: string;
    }
    interface IUserFieldComboBoxDialogItem {
        id: number;
        name: string;
    }
    interface IUserFieldComboBoxDialogResult extends Array<IUserFieldComboBoxDialogItem> {
    }
    class UserFieldComboBoxDialog extends Jade.UI.Dialog {
        private m_grid;
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selections();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IUserFieldComboBoxDialogOptions): UserFieldComboBoxDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessColorPaletteOptions {
        count?: number;
    }
    interface IProcessColorPair {
        light: string;
        dark: string;
    }
    class ProcessColorPalette {
        private static m_colors;
        private m_wheel;
        constructor(options?: IProcessColorPaletteOptions);
        static get colors(): Array<IProcessColorPair>;
        get wheel(): Array<IProcessColorPair>;
        getColor(index: number): IProcessColorPair;
        setCount(index: number): void;
        private buildWheel;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    class Status {
        static A: {
            id: number;
            name: string;
            icon: string;
        };
        static B: {
            id: number;
            icon: string;
            name: string;
        };
        static C: {
            id: number;
            icon: string;
            name: string;
        };
        static D: {
            id: number;
            icon: string;
            name: string;
        };
    }
    class Stage {
        static A: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static B: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static C: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static D: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static E: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static F: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static G: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static H: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static I: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
            visited: boolean;
        };
        static J: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static K: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static L: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static M: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static N: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static O: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static P: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static Q: {
            id: number;
            name: string;
            decisions: any[];
            keyId: number;
        };
        static List: Array<Core.Process.IStageNode>;
    }
    class Key {
        static One: Core.Process.IKeyNode;
        static Two: Core.Process.IKeyNode;
        static Three: Core.Process.IKeyNode;
        static Four: Core.Process.IKeyNode;
        static Five: Core.Process.IKeyNode;
        static List: Array<Core.Process.IKeyNode>;
    }
    class Decision {
        static A: {
            id: number;
            name: string;
            stageId: number;
            targetStage: {
                id: number;
                name: string;
                decisions: any[];
                keyId: number;
            };
            targetStatus: {
                id: number;
                icon: string;
                name: string;
            };
        };
        static B: {
            id: number;
            name: string;
            stageId: number;
            targetStage: {
                id: number;
                name: string;
                decisions: any[];
                keyId: number;
                visited: boolean;
            };
            targetStatus: {
                id: number;
                icon: string;
                name: string;
            };
        };
        static C: {
            id: number;
            name: string;
            stageId: number;
            targetStage: {
                id: number;
                name: string;
                decisions: any[];
                keyId: number;
                visited: boolean;
            };
            targetStatus: {
                id: number;
                icon: string;
                name: string;
            };
        };
        static List: Array<Core.Process.IDecisionNode>;
    }
    class DecisionMap {
        static A: IDecisionMap;
        static B: IDecisionMap;
        static C: IDecisionMap;
        static List: Array<IDecisionMap>;
    }
    class DataSet {
        static get currentProcess(): string;
        static get currentKey(): Core.Process.IKeyNode;
        static get currentStage(): Core.Process.IStageNode;
        static get currentStatus(): Core.Process.IStatusNode;
        static get keys(): Array<Core.Process.IKeyNode>;
        static get stages(): Array<Core.Process.IStageNode>;
        static get selectedStage(): Core.Process.IStageNode;
        static get selectedStageDecisions(): Array<Core.Process.IDecisionNode>;
        static get selectedStageDecisionMaps(): Array<Shared.Process.IDecisionMap>;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IStageSelectEventArgs {
        stage: PDJS.Canvas.Core.Process.IStageNode;
    }
    interface IDecisionsMapEventArgs {
        maps: Array<IDecisionMap>;
    }
    interface IDecisionMap {
        stageId: number;
        index: number;
        color: IProcessColorPair;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    enum ProcessEvent {
        StageSelect = "PDJS.CANVAS:PROCESSVIEW:STAGE:SELCT",
        DecisionsMap = "PDJS.CANVAS:PROCESSVIEW:DECISIONS:MAP"
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessDecisionsComponentOptions extends Jade.UI.IControlOptions {
        source: PDJS.Canvas.Core.Process.IProcessDecisions;
    }
    class ProcessDecisionsComponent extends Jade.UI.Control {
        private m_source;
        private m_eventBus;
        constructor(options: IProcessDecisionsComponentOptions);
        protected get eventBus(): Jade.EventBus;
        protected get source(): PDJS.Canvas.Core.Process.IProcessDecisions;
        template(): string | Array<string> | JQuery;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewOptions extends Jade.UI.IControlOptions {
    }
    class ProcessDecisions extends Jade.UI.Control {
        private m_source;
        private m_eventBus;
        private m_component;
        constructor(options: IProcesViewOptions);
        protected get eventBus(): Jade.EventBus;
        protected get source(): PDJS.Canvas.Core.Process.IProcessDecisions;
        template(): string | Array<string> | JQuery;
        load(source: PDJS.Canvas.Core.Process.IProcessDecisions): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private component_init;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewDecisionsOptions extends IProcessViewComponentOptions {
    }
    class ProcessDecisionsList extends ProcessDecisionsComponent {
        private m_selectedStage;
        private m_grid;
        private m_colors;
        private get grid();
        private get selectedStage();
        private set selectedStage(value);
        private get currentStage();
        private get selectedDecisions();
        private get isActiveStage();
        private get colors();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private grid_fill;
        private generateId;
        private generateLabel;
        private generateDescription;
        private setSelectedStage;
        private publishDecisionMapEvent;
        private onStageSelect;
        private action_onClick;
        private executeDecision;
        private showExecuteDecisionErrorsDialog;
        private showExecuteDecisionSuccessDialog;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessStateOptions extends Jade.UI.IControlOptions {
    }
    class ProcessState extends Jade.UI.Control {
        private m_source;
        constructor(options: IProcessStateOptions);
        protected get source(): PDJS.Canvas.Core.Process.IProcessState;
        template(): string | Array<string> | JQuery;
        load(source: PDJS.Canvas.Core.Process.IProcessState): void;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessStateAttachment {
        headNode: JQuery;
        bodyNode: JQuery;
    }
    export interface IProcessStateLayoutOptions extends Jade.UI.IControlOptions {
        source: Core.Process.IProcessState;
    }
    export class ProcessStateLayout extends Jade.UI.Control {
        private m_source;
        constructor(options: IProcessStateLayoutOptions);
        protected get source(): PDJS.Canvas.Core.Process.IProcessState;
        protected get showProcess(): boolean;
        protected get showKey(): boolean;
        protected get showStage(): boolean;
        protected get showStatus(): boolean;
        protected get isHorizontalOrientation(): boolean;
        private get headNode();
        private get bodyNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getAttachment(): IProcessStateAttachment;
        private addProcess;
        private addKey;
        private addStage;
        private addStatus;
        private generateHeaderNode;
        private generateContentNode;
        private getIcon;
        private getIconSize;
    }
    export {};
}
declare namespace PDJS.Canvas.Shared.Process {
    enum ProcessViewCss {
        StageCurrent = "-pdjs-stage-current",
        StageVisited = "-pdjs-stage-visited",
        StageSelected = "-pdjs-stage-selected",
        KeyCurrent = "-pdjs-key-current",
        KeyVisited = "-pdjs-key-visited"
    }
    interface IProcesViewOptions extends Jade.UI.IControlOptions {
    }
    class ProcessView extends Jade.UI.Control {
        private m_styles;
        private m_source;
        private m_keysComponent;
        private m_stagesComponent;
        private m_componentHeights;
        constructor(options: IProcesViewOptions);
        protected get eventBus(): Jade.EventBus;
        protected get source(): PDJS.Canvas.Core.Process.IProcessView;
        protected get componentHeights(): Array<string>;
        protected get gridNode(): JQuery;
        protected get styles(): PDJS.Shared.UI.StyleInjector;
        protected get keysComponent(): ProcessViewKeys;
        protected get stagesComponent(): ProcessViewStageColumns;
        protected get clientHeight(): number;
        protected get clientWidth(): number;
        template(): string | Array<string> | JQuery;
        load(source: PDJS.Canvas.Core.Process.IProcessView): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        private keysComponent_init;
        private stagesComponent_init;
        private navigationComponent_init;
        private setSectionHeights;
        private addStyles;
        private onStageSelect;
        private setBorders;
        private setRightBorder;
        private setBottomBorder;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessViewComponentOptions extends Jade.UI.IControlOptions {
        source: PDJS.Canvas.Core.Process.IProcessView;
    }
    class ProcessViewComponent extends Jade.UI.Control {
        private m_source;
        constructor(options: IProcessViewComponentOptions);
        protected get eventBus(): Jade.EventBus;
        protected get source(): PDJS.Canvas.Core.Process.IProcessView;
        template(): string | Array<string> | JQuery;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessViewDecisionMapOptions extends Jade.UI.IControlOptions {
        map: IDecisionMap;
    }
    class ProcessViewDecisionMap extends Jade.UI.Control {
        private m_maps;
        constructor(options: IProcessViewDecisionMapOptions);
        private get map();
        private get maps();
        template(): string | Array<string> | JQuery;
        addMap(map: IDecisionMap): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        private build;
        private buildSingleView;
        private buildMultiView;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewKeyOptions extends IProcessViewComponentOptions {
        keySource: PDJS.Canvas.Core.Process.IKeyNode;
    }
    class ProcessViewKey extends ProcessViewComponent {
        constructor(options: IProcesViewKeyOptions);
        get keySource(): PDJS.Canvas.Core.Process.IKeyNode;
        get labelNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private enableCurrentCssClass;
        private enableVisitedCssClass;
        private isKeyVisited;
        private isKeyCurrent;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewKeysOptions extends IProcessViewComponentOptions {
    }
    class ProcessViewKeys extends ProcessViewComponent {
        get scrollPositionX(): number;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private createKeys;
        private setColumnWidths;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcessViewNavigationOptions extends IProcessViewComponentOptions {
        parentNode: JQuery;
        hScroll?: boolean;
        vScroll?: boolean;
        offsetTop?: number;
        navigate?: Function;
    }
    class ProcessViewNavigation extends ProcessViewComponent {
        constructor(options: IProcessViewNavigationOptions);
        private get parentNode();
        private get scrollHeight();
        private get scrollWidth();
        private get clientHeight();
        private get clientWidth();
        private get overflowedRight();
        private get overflowedBottom();
        private get scrollTop();
        private get scrollLeft();
        private get canScrollTop();
        private get canScrollRight();
        private get canScrollBottom();
        private get canScrollLeft();
        private get topNode();
        private get bottomNode();
        private get rightNode();
        private get leftNode();
        private get hScroll();
        private get vScroll();
        private get shiftWidth();
        private get shiftHeight();
        private get navNodes();
        private get offsetTop();
        private get navigateCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private showNavNodes;
        private hideNavNodes;
        private navTopNode_onClick;
        private navRightNode_onClick;
        private navBottomNode_onClick;
        private navLeftNode_onClick;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewStageOptions extends IProcessViewComponentOptions {
        stageSource: PDJS.Canvas.Core.Process.IKeyNode;
    }
    class ProcessViewStage extends ProcessViewComponent {
        constructor(options: IProcesViewStageOptions);
        get stageSource(): PDJS.Canvas.Core.Process.IStageNode;
        get labelNode(): JQuery;
        get map(): ProcessViewDecisionMap;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private enableCurrentCssClass;
        private enableSelectedCssClass;
        private enableVisitedCssClass;
        private onStageSelect;
        private onDecisionsMap;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewStageColumnOptions extends IProcessViewComponentOptions {
        keySource: PDJS.Canvas.Core.Process.IKeyNode;
        isFirstOrLast?: boolean;
    }
    class ProcesViewStageColumn extends ProcessViewComponent {
        private m_maxStageCount;
        private m_stageCount;
        constructor(options: IProcesViewStageColumnOptions);
        get keySource(): PDJS.Canvas.Core.Process.IKeyNode;
        private get stages();
        get isFirstOrLast(): boolean;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private generateStages;
        private calculateStageCounts;
        private generateGridTemplateRowsStyle;
    }
}
declare namespace PDJS.Canvas.Shared.Process {
    interface IProcesViewStagesColumnsOptions extends IProcessViewComponentOptions {
    }
    class ProcessViewStageColumns extends ProcessViewComponent {
        get scrollPositionX(): number;
        get scrollPositionY(): number;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private columns_init;
        private setColumnWidths;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    interface IShape {
        backgroundColor: string;
        borderColor: string;
        borderStyle: string;
        borderWidth: number;
    }
    interface IShapeOptions extends Jade.UI.IControlOptions {
        backgroundColor: string;
        borderColor: string;
        borderStyle: string;
        borderWidth: number;
    }
    abstract class Shape extends Jade.UI.Control implements IShape {
        constructor(options: IShapeOptions);
        protected get nodeHeight(): number;
        protected get nodeWidth(): number;
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderStyle(): string;
        set borderStyle(value: string);
        get borderWidth(): number;
        set borderWidth(value: number);
        template(): string | JQuery | Array<string>;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    class Ellipse extends Shape {
        constructor(options: IShapeOptions);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    interface ILine {
        lineColor: string;
        startCapShape: Core.Shapes.LineCapShape;
        startCapWidth: number;
        startCapHeight: number;
        startCapColor: string;
        endCapShape: Core.Shapes.LineCapShape;
        endCapWidth: number;
        endCapHeight: number;
        endCapColor: string;
        lineWeight: number;
    }
    interface ILineOptions extends Jade.UI.IControlOptions {
        lineColor: string;
        startCapShape: Core.Shapes.LineCapShape;
        startCapWidth: number;
        startCapHeight: number;
        startCapColor: string;
        endCapShape: Core.Shapes.LineCapShape;
        endCapWidth: number;
        endCapHeight: number;
        endCapColor: string;
        lineWeight: number;
    }
    class LinePaths {
        static line(l: Line): string;
        static startCap(l: Line): string;
        static endCap(l: Line): string;
        private static endCapTriangle;
        private static startCapTriangle;
        private static endCapCircle;
        private static startCapCircle;
        private static endCapSquare;
        private static startCapSquare;
    }
    class Line extends Jade.UI.Control implements ILine {
        constructor(options: ILineOptions);
        get height(): number;
        get width(): number;
        get lineColor(): string;
        set lineColor(value: string);
        get startCapShape(): Core.Shapes.LineCapShape;
        set startCapShape(value: Core.Shapes.LineCapShape);
        get startCapHeight(): number;
        set startCapHeight(value: number);
        get startCapWidth(): number;
        set startCapWidth(value: number);
        get startCapColor(): string;
        set startCapColor(value: string);
        get endCapShape(): Core.Shapes.LineCapShape;
        set endCapShape(value: Core.Shapes.LineCapShape);
        get endCapHeight(): number;
        set endCapHeight(value: number);
        get endCapWidth(): number;
        set endCapWidth(value: number);
        get endCapColor(): string;
        set endCapColor(value: string);
        get lineWeight(): number;
        set lineWeight(value: number);
        template(): string | JQuery | Array<string>;
        redraw(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected content(): string;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    class Rectangle extends Shape {
        constructor(options: IShapeOptions);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    interface ITriangle extends IShape {
        rotation: Core.Shapes.TriangleRotation;
    }
    interface ITriangleOptions extends IShapeOptions {
        rotation: Core.Shapes.TriangleRotation;
        height: number;
        width: number;
    }
    abstract class Triangle extends Shape implements ITriangle {
        constructor(options: IShapeOptions);
        private get svgID();
        get height(): number;
        set height(value: number);
        get width(): number;
        set width(value: number);
        get rotation(): Core.Shapes.TriangleRotation;
        set rotation(value: Core.Shapes.TriangleRotation);
        redraw(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected getDefaultOptions(): any;
        protected getShapePath(): string;
        private content;
        private strokeWidth;
        private strokeStyle;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    class IsoscelesTriangle extends Triangle implements ITriangle {
        constructor(options: ITriangleOptions);
        protected getShapePath(): string;
    }
}
declare namespace PDJS.Canvas.Shared.Shapes {
    interface IRightTriangle extends ITriangle {
    }
    class RightTriangle extends Triangle implements IRightTriangle {
        constructor(options: ITriangleOptions);
        protected getShapePath(): string;
    }
}
declare namespace PDJS.Canvas.Shared.Views {
    class ViewCommandBase extends Jade.Command {
        private m_context;
        protected get view(): CanvasJS.Design.ElementDesignView;
        protected get component(): IViewComponent;
        protected get viewStateId(): string;
        protected hasGrid(): boolean;
        protected get grid(): PD.Web.UI.Controls.ViewGrid;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: Jade.StateBag): void;
        protected createContext(): void;
        protected destroyContext(): void;
    }
}
declare namespace PDJS.Canvas.Shared.Views {
    class ViewDesignerCommand extends ViewCommandBase {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: Jade.StateBag): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Canvas.Shared.Views {
    interface IViewDesignerDialogOptions extends Jade.UI.IDialogOptions {
        viewStateId: string;
    }
    class ViewDesignerDialog extends Jade.UI.Dialog {
        private m_service;
        private m_viewState;
        private m_toolbar;
        private m_grid;
        constructor(options: IViewDesignerDialogOptions);
        private get grid();
        private get gridNode();
        private get toolbarNode();
        private get cancelButton();
        private get okButton();
        private get viewStateId();
        template(): string | JQuery | Array<string>;
        static open(options: IViewDesignerDialogOptions): ViewDesignerDialog;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private grid_init;
        private toolbar_init;
    }
}
declare namespace PDJS.Core {
    interface IModelOptions {
        [key: string]: any;
    }
    class Model {
        private m_state;
        private m_onStateChangeCallback;
        constructor(state: IModelOptions);
        get onStateChangeCallback(): () => void;
        set onStateChangeCallback(value: () => void);
        get state(): Jade.StateBag;
        toJSON(): any;
        has(name: string): boolean;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Core.Actions {
    interface IAction extends IActionDefinition {
        parameters: Array<IActionParameter>;
    }
    interface IActionDefinition {
        id: string;
        pluginId: string;
        name?: string;
        description?: string;
        targetArbiter?: string;
        targetType?: string;
        parameters: Array<IActionParameterDefinition>;
    }
    enum ActionParameterType {
        boolean = 1,
        date = 2,
        decimal = 3,
        integer = 4,
        string = 5
    }
    interface IActionParameterDefinition {
        id: string;
        type: ActionParameterType;
        [key: string]: any;
    }
    interface IActionParameter extends IActionParameterDefinition {
        text: string;
        value: any;
    }
}
declare namespace PDJS.Core.Data.Hierarchical {
    interface IPopulateArgs {
        clear?: boolean;
        nodeId?: any;
        nodes: Array<IModelNodeBase>;
        success?: Function;
    }
    interface IModelRequestNodesArgs {
        nodeId: any;
        expanded?: Array<any>;
        success?: Function;
        error?: Function;
        initialize?: boolean;
    }
    interface IModelBase {
        bindings?: IModelNodeBindings;
        nodes: Array<IModelNodeBase>;
    }
    interface IModelOptions extends Jade.UI.IControlOptions {
        nodes?: Array<IModelNodeBase>;
    }
    class ModelBase extends Core.Model {
        private m_nodes;
        constructor(options?: IModelOptions);
        get bindings(): IModelNodeBindings;
        set bindings(value: IModelNodeBindings);
        get nodes(): ModelNodeCollectionBase;
        set nodes(value: ModelNodeCollectionBase);
        getNode(id: any, source?: ModelNodeBase): ModelNodeBase;
        getPath(folder?: ModelNodeBase): Array<number>;
        toJSON(): IModelBase;
        requestNodes(e: IModelRequestNodesArgs): void;
        populate(e: IPopulateArgs): void;
        getExpandedNodeIds(nodeId?: any): Array<any>;
        protected getBindingName(name: string): string;
        protected setBindings(bindings: IModelNodeBindings): void;
        protected onInitialize(): void;
        protected onNodesRequest(e: Core.Data.Hierarchical.IModelRequestNodesArgs): void;
        protected createNodeCollection(e: INodeCollectionBaseOptions): ModelNodeCollectionBase;
        protected getExpandedNodes(nodes?: ModelNodeCollectionBase, list?: Array<ModelNodeBase>): Array<ModelNodeBase>;
    }
    class Model<TNode extends ModelNodeBase, TNodeCollection extends ModelNodeCollection<TNode, TNodeCollection>> extends ModelBase {
        get nodes(): TNodeCollection;
        getNode(id: number, source?: TNode): TNode;
        getPath(node?: TNode): Array<number>;
        getAllNodes(): Array<TNode>;
        protected forEachNode(callback: (node: TNode) => void, source?: TNode): void;
    }
}
declare namespace PDJS.Core.Data.Hierarchical {
    interface IModelNodeBindings {
        id?: string;
        nodes?: string;
        hasNodes?: string;
        role?: string;
    }
    interface IModelNodeBase {
        expanded?: boolean;
        [key: string]: any;
    }
    interface IModelNodeBaseOptions extends Core.IModelOptions, IModelNodeBase {
        bindings?: IModelNodeBindings;
        parentId?: any;
        model?: ModelBase;
    }
    class ModelNodeBase extends Core.Model {
        private m_model;
        private m_parent;
        private m_nodes;
        constructor(options: IModelNodeBaseOptions);
        get id(): any;
        get bindings(): IModelNodeBindings;
        protected set bindings(value: IModelNodeBindings);
        get expanded(): boolean;
        set expanded(value: boolean);
        get model(): ModelBase;
        set model(value: ModelBase);
        get nodes(): ModelNodeCollectionBase;
        protected set nodes(value: ModelNodeCollectionBase);
        get parent(): ModelNodeBase;
        protected set parent(value: ModelNodeBase);
        get parentId(): number;
        set parentId(value: number);
        get role(): string;
        set role(value: string);
        toJSON(): IModelNodeBase;
        toKendoJSON(): IModelNodeBase;
        toMarkup(): string;
        remove(): void;
        protected isParentSet(): boolean;
        protected ensureParent(): void;
        protected ensureNodes(): void;
        protected ensureModel(options: IModelNodeBaseOptions): void;
        protected createNodeCollection(nodes: Array<IModelNodeBase>): ModelNodeCollectionBase;
        protected getBindingName(name: string): string;
    }
    class ModelNode<TNode extends ModelNodeBase, TNodeCollection extends ModelNodeCollection<TNode, TNodeCollection>> extends ModelNodeBase {
        get model(): Model<TNode, TNodeCollection>;
        protected set model(value: Model<TNode, TNodeCollection>);
        get nodes(): TNodeCollection;
        protected set nodes(value: TNodeCollection);
        get parent(): TNode;
        protected set parent(value: TNode);
    }
}
declare namespace PDJS.Core.Data.Hierarchical {
    interface INodeCollectionBaseOptions {
        bindings: IModelNodeBindings;
        model: ModelBase;
        nodes: Array<IModelNodeBase>;
        parent: ModelNodeBase;
        [key: string]: any;
    }
    interface INodeCollectionOptions<TFolder extends ModelNodeBase, TNodeCollection extends ModelNodeCollectionBase> extends INodeCollectionBaseOptions {
        [key: string]: any;
    }
    class ModelNodeCollectionBase extends Jade.Collection<ModelNodeBase> {
        private m_bindings;
        private m_model;
        private m_parent;
        constructor(options: INodeCollectionBaseOptions);
        get bindings(): IModelNodeBindings;
        protected set bindings(value: IModelNodeBindings);
        protected get model(): ModelBase;
        protected set model(value: ModelBase);
        protected get parent(): ModelNodeBase;
        protected set parent(value: ModelNodeBase);
        toJSON(): Array<IModelNodeBase>;
        populate(nodes: Array<IModelNodeBase>): void;
        protected createNode(item: IModelNodeBaseOptions): ModelNodeBase;
    }
    class ModelNodeCollection<TNode extends ModelNodeBase, TNodeCollection extends ModelNodeCollection<TNode, TNodeCollection>> extends ModelNodeCollectionBase {
        constructor(options: INodeCollectionOptions<TNode, TNodeCollection>);
        protected get parent(): TNode;
        protected set parent(value: TNode);
        protected get model(): Model<TNode, TNodeCollection>;
        protected set model(value: Model<TNode, TNodeCollection>);
        add(item: TNode): boolean;
        remove(item: TNode): TNode;
        protected createNode(item: IModelNodeBaseOptions): TNode;
    }
}
declare namespace PDJS.Core.DocumentTypes {
    interface IDocumentType {
        id: number;
        canvasId: string;
        customId: string;
        category: string;
        name: string;
        description: string;
        isAssignable: boolean;
        isDefault: boolean;
        entityTypes: Array<EntityTypes.IEntityType>;
    }
}
declare namespace PDJS.Core.DocumentTypes {
    interface IDocumentTypeAssignment {
        fileId: string;
        documentType: IDocumentType;
        canvas: any;
        requiredFields: number;
    }
}
declare namespace PDJS.Core.EntityTypes {
    interface IEntityType {
        id: number;
        customId: string;
        description: string;
        icon: string;
        name: string;
    }
    interface IEntityTypeNode {
        customId: string;
        description: string;
        icon: string;
        id: number;
        name: string;
        nodeId: string;
        parentId: string;
    }
    interface IEntityTypeNodeCollection extends Array<IEntityTypeNode> {
    }
    interface IEntityTypeRelationships {
        available: IEntityTypeNodeCollection;
        children: IEntityTypeNodeCollection;
        parents: IEntityTypeNodeCollection;
    }
}
declare namespace PDJS.Core.EntityTypes.ExplorerModel {
    enum CssClass {
        Node = "-pdjs-entity-types-explorer-model-folder"
    }
}
declare namespace PDJS.Core.EntityTypes.ExplorerModel {
    interface IExplorerModelBase {
        nodes: Array<INodeBase>;
    }
    interface IExplorerModelBaseOptions extends Jade.UI.IControlOptions {
        nodes?: Array<INodeBase>;
    }
    class ExplorerModelBase extends Model {
        private m_nodes;
        constructor(options?: IExplorerModelBaseOptions);
        get nodes(): NodeCollectionBase;
        set nodes(value: NodeCollectionBase);
        getNode(id: number, source?: NodeBase): NodeBase;
        getPath(folder?: NodeBase): Array<number>;
        toJSON(): IExplorerModelBase;
        protected createNodeCollection(nodes: Array<INodeBase>): NodeCollectionBase;
    }
    class ExplorerModel<TNode extends NodeBase, TNodeCollection extends NodeCollection<TNode, TNodeCollection>> extends ExplorerModelBase {
        get nodes(): TNodeCollection;
        getNode(id: number, source?: TNode): TNode;
        getPath(node?: TNode): Array<number>;
        getAllNodes(): Array<TNode>;
        protected forEachNode(callback: (node: TNode) => void, source?: TNode): void;
    }
}
declare namespace PDJS.Core.EntityTypes.ExplorerModel {
    type INodeType = "entity-type" | "folder";
    interface INodeBase {
        cssClass?: string;
        icon: string;
        id: number;
        name: string;
        nodes?: Array<INodeBase>;
        parentId: number;
        type: INodeType;
        [key: string]: any;
    }
    interface INodeBaseOptions extends IModelOptions, INodeBase {
        explorerModel?: ExplorerModelBase;
    }
    class NodeBase extends Model {
        private m_explorerModel;
        private m_parent;
        private m_nodes;
        constructor(options: INodeBaseOptions);
        get explorerModel(): ExplorerModelBase;
        set explorerModel(value: ExplorerModelBase);
        get cssClass(): string;
        get icon(): string;
        set icon(value: string);
        get id(): number;
        set id(value: number);
        get name(): string;
        set name(value: string);
        get parent(): NodeBase;
        protected set parent(value: NodeBase);
        get parentId(): number;
        set parentId(value: number);
        get nodes(): NodeCollectionBase;
        protected set nodes(value: NodeCollectionBase);
        get type(): INodeType;
        set type(value: INodeType);
        toJSON(): INodeBase;
        toMarkup(): string;
        remove(): void;
        protected isParentSet(): boolean;
        protected ensureParent(): void;
        protected ensureNodes(): void;
        protected ensureExplorerModel(): void;
        protected createNodeCollection(nodes: Array<INodeBase>): NodeCollectionBase;
    }
    class Node<TNode extends NodeBase, TNodeCollection extends NodeCollection<TNode, TNodeCollection>> extends NodeBase {
        get explorerModel(): ExplorerModel<TNode, TNodeCollection>;
        protected set explorerModel(value: ExplorerModel<TNode, TNodeCollection>);
        get nodes(): TNodeCollection;
        protected set nodes(value: TNodeCollection);
        get parent(): TNode;
        protected set parent(value: TNode);
    }
}
declare namespace PDJS.Core.EntityTypes.ExplorerModel {
    interface INodeCollectionBaseOptions {
        explorerModel: ExplorerModelBase;
        parent: NodeBase;
        nodes: Array<INodeBase>;
        [key: string]: any;
    }
    interface INodeCollectionOptions<TFolder extends NodeBase, TNodeCollection extends NodeCollectionBase> extends INodeCollectionBaseOptions {
        [key: string]: any;
    }
    class NodeCollectionBase extends Jade.Collection<NodeBase> {
        private m_explorerModel;
        private m_parent;
        constructor(options: INodeCollectionBaseOptions);
        protected get parent(): NodeBase;
        protected set parent(value: NodeBase);
        protected get explorerModel(): ExplorerModelBase;
        protected set explorerModel(value: ExplorerModelBase);
        toJSON(): Array<INodeBase>;
        protected populate(folders: Array<INodeBaseOptions>): void;
        protected createNode(item: INodeBaseOptions): NodeBase;
    }
    class NodeCollection<TNode extends NodeBase, TNodeCollection extends NodeCollection<TNode, TNodeCollection>> extends NodeCollectionBase {
        constructor(options: INodeCollectionOptions<TNode, TNodeCollection>);
        protected get parent(): TNode;
        protected set parent(value: TNode);
        protected get explorerModel(): ExplorerModel<TNode, TNodeCollection>;
        protected set explorerModel(value: ExplorerModel<TNode, TNodeCollection>);
        add(item: TNode): boolean;
        remove(item: TNode): TNode;
        protected createNode(item: INodeBaseOptions): TNode;
    }
}
declare namespace PDJS.Core.Explorer {
    enum CssClass {
        Model = "-pdjs-hub-explorer-model",
        ModelNode = "-pdjs-hub-explorer-model-node",
        ModelNodeNotFileFolder = "-not-file-folder"
    }
}
declare namespace PDJS.Core.Explorer {
    interface IModelOptions extends Data.Hierarchical.IModelOptions {
        entityId: number;
        folderId: number;
        includeTabs: boolean;
    }
    class Model extends Core.Data.Hierarchical.Model<ModelNode, ModelNodeCollection> {
        constructor(options: IModelOptions);
        get entityId(): number;
        get folderId(): string;
        get includeTabs(): boolean;
        protected onInitialize(): void;
        protected onNodesRequest(e: Core.Data.Hierarchical.IModelRequestNodesArgs): void;
        protected createNodeCollection(e: Core.Data.Hierarchical.INodeCollectionBaseOptions): ModelNodeCollection;
    }
}
declare namespace PDJS.Core.Explorer {
    type INodeRole = "entity" | "folder";
    interface IModelNodeBase {
        entityId: number;
        expanded: boolean;
        fileCount: number;
        folderIcon: string;
        folderId: number;
        folderName: string;
        hasNodes: boolean;
        isFileFolder: boolean;
        isHidden: boolean;
        isSelectable: boolean;
        isTab: boolean;
        nodes?: Array<IModelNodeBase>;
        parentId: number;
        role: INodeRole;
        [key: string]: any;
    }
    class ModelNode extends Core.Data.Hierarchical.ModelNode<ModelNode, ModelNodeCollection> {
        get model(): Model;
        protected set model(value: Model);
        get entityId(): number;
        set entityId(value: number);
        get fileCount(): number;
        set fileCount(value: number);
        get folderIcon(): string;
        set folderIcon(value: string);
        get folderId(): number;
        set folderId(value: number);
        get folderName(): string;
        set folderName(value: string);
        get isFileFolder(): boolean;
        set isFileFolder(value: boolean);
        get isHidden(): boolean;
        set isHidden(value: boolean);
        get isSelectable(): boolean;
        set isSelectable(value: boolean);
        get isTab(): boolean;
        set isTab(value: boolean);
        toMarkup(): string;
        protected createNodeCollection(nodes: Array<IModelNodeBase>): ModelNodeCollection;
    }
}
declare namespace PDJS.Core.Explorer {
    class ModelNodeCollection extends Core.Data.Hierarchical.ModelNodeCollection<ModelNode, ModelNodeCollection> {
        protected createNode(item: Core.Data.Hierarchical.IModelNodeBaseOptions): ModelNode;
    }
}
declare namespace PDJS.Core.Files {
    interface IFile {
        id: number;
        name: string;
        extension: string;
        size: number;
        documentType?: Core.DocumentTypes.IDocumentType;
    }
    class File extends Model implements IFile {
        get id(): number;
        set id(value: number);
        get documentType(): Core.DocumentTypes.IDocumentType;
        set documentType(value: Core.DocumentTypes.IDocumentType);
        get extension(): string;
        set extension(value: string);
        get name(): string;
        set name(value: string);
        get size(): number;
        set size(value: number);
        get sizeText(): string;
    }
}
declare namespace PDJS.Core.Files {
    enum FileAlertType {
        Validation = 0,
        Error = 1
    }
    interface IFileAlertOptions {
        type: FileAlertType;
        message: string;
    }
    class FileAlert extends Model {
        constructor(options: IFileAlertOptions);
        get message(): string;
        set message(value: string);
        get type(): FileAlertType;
    }
    class FileAlertCollection extends Jade.ObservableCollection<FileAlert> {
        getByAlertType(type: FileAlertType): Jade.Collection<FileAlert>;
        get validationErrors(): Jade.Collection<FileAlert>;
        get errors(): Jade.Collection<FileAlert>;
    }
}
declare namespace PDJS.Core.Files {
    interface IFileInfo {
        id: number;
        name: string;
        extension: string;
        size: number;
        documentType: Core.DocumentTypes.IDocumentType;
    }
}
declare namespace PDJS.Core.Files {
    enum FileStatus {
        PENDING = 1,
        VALIDATED = 2,
        READY = 3,
        COMMITTED = 4,
        ERROR = 5
    }
    interface IStoredFileState extends IFile {
        canvasDocument?: PDJS.Canvas.Core.Documents.DocumentModel;
        selected?: boolean;
        status?: FileStatus;
        statusColor?: string;
        statusIcon?: string;
        statusText?: string;
    }
    interface IStoredFile extends IFile {
        canvasDocument: PDJS.Canvas.Core.Documents.DocumentModel;
        selected: boolean;
        status: FileStatus;
        statusColor: string;
        statusIcon: string;
        statusText: string;
        setCanvasDocument(): void;
    }
    class StoredFile extends File implements IStoredFile {
        private m_alerts;
        constructor(state: IStoredFileState);
        get canvasDocument(): PDJS.Canvas.Core.Documents.DocumentModel;
        set canvasDocument(value: PDJS.Canvas.Core.Documents.DocumentModel);
        get selected(): boolean;
        set selected(value: boolean);
        get status(): FileStatus;
        set status(value: FileStatus);
        get alerts(): FileAlertCollection;
        get statusIcon(): string;
        set statusIcon(value: string);
        get statusColor(): string;
        set statusColor(value: string);
        get statusIconPath(): string;
        get statusText(): string;
        set statusText(value: string);
        get lastCommitResponse(): Services.Canvas.Forms.ISubmitFormResponseBase;
        set lastCommitResponse(value: Services.Canvas.Forms.ISubmitFormResponseBase);
        setCanvasDocument(): void;
        commit(entityId: number, folder: number, success?: Function): void;
        protected onStateChanged(): void;
        protected setStatusProperties(): void;
        protected onCanvasChanged(): void;
        protected processFormSubmitResponse(response: Services.Canvas.Forms.ISubmitFormResponseBase): void;
        protected setEntityNameFieldValue(response: Services.Canvas.Forms.ISubmitFormResponseBase): void;
    }
}
declare namespace PDJS.Core.Files {
    interface IUpload {
        id: string;
        percent: number;
        status: plupload.FileStatus;
    }
    class Upload extends Model {
        get id(): string;
        set id(value: string);
        get percent(): number;
        set percent(value: number);
        get status(): plupload.FileStatus;
        set status(value: plupload.FileStatus);
    }
}
declare namespace PDJS.Core.Files {
    interface IUploadFileState extends IStoredFileState {
        upload: IUpload;
    }
    interface IUploadFile extends IFile {
        upload: IUpload;
    }
    class UploadFile extends StoredFile {
        private m_upload;
        constructor(state: IUploadFileState);
        get upload(): Upload;
        commit(entityId: number, folderId: number, success?: Function, error?: Function): void;
        protected setStatusProperties(): void;
    }
}
declare namespace PDJS.Core.Framework {
    interface ICurrentUser {
        id: number;
        accountName: string;
        displayName: string;
        isAdmin: boolean;
    }
    interface ITheme {
        ui: IUiTheme;
        login: ILoginTheme;
    }
    interface ILoginTheme {
        backgroundColor: string;
        backgroundImage: string;
        textColor: string;
    }
    interface IUiTheme {
        backgroundColor: string;
        textColor: string;
    }
    interface IItem {
        id: number;
        name: string;
        description: string;
    }
    interface IStartUpData {
        applicationId: string;
        applicationName: string;
        currentUser: ICurrentUser;
        entityTypes: Array<Core.EntityTypes.IEntityType>;
        isLocalAuth: boolean;
        isNewAdminsOnly: boolean;
        recentEntities: Array<IItem>;
        recentViews: Array<IItem>;
        supportUrl: string;
        theme: ITheme;
        views: Array<Core.Views.IView>;
    }
}
declare namespace PDJS.Core.Process {
    enum CssClass {
        ProcessNode = "-pdjs-manage-process-node"
    }
}
declare namespace PDJS.Core.Process {
    interface IProcess {
        id: number;
        name: string;
    }
    interface IProcessStatus {
        id: number;
        customId: string;
        icon: string;
        name: string;
        inUse: boolean;
    }
    interface IStageListItem {
        id: number;
        icon: string;
        name: string;
    }
}
declare namespace PDJS.Core.Process {
    enum ProcessNodeType {
        process = "process",
        key = "key",
        stage = "stage",
        decision = "decision"
    }
    interface IProcessNode {
        id?: number;
        objectId?: string;
        parentId?: number;
        icon?: string;
        name?: string;
        type: string;
        nodes?: Array<IProcessNode>;
        expanded?: boolean;
    }
    interface IProcessNodeOptions extends IProcessNode {
        parent?: ProcessNode;
    }
    class ProcessNode extends Core.Model {
        private m_nodes;
        private m_parent;
        constructor(options: IProcessNodeOptions);
        get id(): string;
        get objectId(): number;
        get parent(): ProcessNode;
        private set parent(value);
        get parentObjectId(): number;
        private set parentObjectId(value);
        get icon(): string;
        set icon(value: string);
        get name(): string;
        set name(value: string);
        get type(): ProcessNodeType;
        get nodes(): ProcessNodeCollection;
        setParent(parent: ProcessNode): void;
        move(target: ProcessNode, insertAt?: number): void;
        remove(): void;
        update(state: IProcessNode): void;
        toJSON(): IProcessNode;
        toMarkup(): string;
    }
}
declare namespace PDJS.Core.Process {
    interface IProcessNodeCollectionOptions {
        nodes: Array<IProcessNode>;
        parent: ProcessNode;
    }
    class ProcessNodeCollection extends Jade.Collection<ProcessNode> {
        private m_parent;
        constructor(options: IProcessNodeCollectionOptions);
        private get parent();
        toJSON(): Array<IProcessNode>;
        add(item: ProcessNode): boolean;
        remove(item: ProcessNode): ProcessNode;
    }
}
declare namespace PDJS.Core.Process {
    interface IProcessNodeTreeOptions {
        node: IProcessNode;
    }
    class ProcessNodeTree extends Core.Model {
        private m_node;
        constructor(options: IProcessNodeTreeOptions);
        get node(): ProcessNode;
        getNode(id: string, source?: ProcessNode): ProcessNode;
        remove(guid: string): void;
        toJSON(): IProcessNode;
    }
}
declare namespace PDJS.Core.Process {
    interface IProcessStatusOptions extends IProcessStatus {
    }
    class ProcessStatus extends Core.Model {
        constructor(options: IProcessStatusOptions);
        get id(): number;
        set id(value: number);
        get customId(): string;
        set customId(value: string);
        get icon(): string;
        set icon(value: string);
        get name(): string;
        set name(value: string);
        get inUse(): boolean;
        set inUse(value: boolean);
        update(state: IProcessStatus): void;
        toJSON(): IProcessStatus;
    }
}
declare namespace PDJS.Core.Process {
    class ProcessStatusCollection extends Jade.Collection<ProcessStatus> {
        constructor(data: Array<IProcessStatus>);
        toJSON(): Array<IProcessStatus>;
        getById(id: number): ProcessStatus;
    }
}
declare namespace PDJS.Core.Resources {
    interface IHistoryOptions extends IModelOptions {
        add: (e: HistoryEventArgs) => void;
        move: (e: HistoryEventArgs) => void;
    }
    class History extends Core.Model {
        private m_items;
        constructor(options: IHistoryOptions);
        private get addCallback();
        private get moveCallback();
        private get suspendRecording();
        private set suspendRecording(value);
        private get items();
        private set items(value);
        get index(): number;
        private set index(value);
        add(item: IHistoryItemOptions): void;
        get(folderId: string): PDJS.Core.Resources.HistoryItem;
        next(): void;
        prev(): void;
        canMovePrev(): boolean;
        canMoveNext(): boolean;
        private trim;
        private peek;
        private canAdd;
        private allowAdd;
    }
}
declare namespace PDJS.Core.Resources {
    interface IHistoryEventArgsOptions {
        event: "add" | "next" | "prev";
        index: number;
        item: HistoryItem;
        items: Array<HistoryItem>;
        history: History;
    }
    class HistoryEventArgs {
        private m_event;
        private m_history;
        private m_index;
        private m_item;
        private m_items;
        constructor(options: IHistoryEventArgsOptions);
        get event(): string;
        get history(): History;
        get index(): number;
        get item(): HistoryItem;
        get items(): Array<HistoryItem>;
        get canMovePrev(): boolean;
        get canMoveNext(): boolean;
    }
}
declare namespace PDJS.Core.Resources {
    interface IHistoryItemOptions {
        folderId: string;
        folderPath: Array<IResource>;
    }
    class HistoryItem {
        private m_id;
        private m_path;
        constructor(options: IHistoryItemOptions);
        get folderId(): string;
        get folderPath(): Array<IResource>;
    }
}
declare namespace PDJS.Core.Resources {
    interface IResource {
        id: string;
        icon: string;
        name: string;
        path: string;
        role: "folder" | "file";
        parentId: string;
        [key: string]: any;
    }
}
declare namespace PDJS.Core.Resources {
    interface IResourceTreeOptions {
        items: Array<IResourceTreeNode>;
    }
    class ResourceTree extends Core.Model {
        private m_nodes;
        private m_root;
        constructor(options: IResourceTreeOptions);
        get nodes(): ResourceTreeNodeCollection;
        get root(): IResourceTreeNode;
        getNode(id: string, source?: ResourceTreeNode): ResourceTreeNode;
        remove(guid: string): void;
        toJSON(): Array<IResourceTreeNode>;
    }
}
declare namespace PDJS.Core.Resources {
    interface IResourceTreeNodeCollectionOptions {
        nodes: Array<IResourceTreeNode>;
        parent: ResourceTreeNode;
    }
    class ResourceTreeNodeCollection extends Jade.Collection<ResourceTreeNode> {
        private m_parent;
        constructor(options: IResourceTreeNodeCollectionOptions);
        private get parent();
        toJSON(): Array<IResourceTreeNode>;
        add(item: ResourceTreeNode): boolean;
        remove(item: ResourceTreeNode): ResourceTreeNode;
    }
}
declare namespace PDJS.Core.Resources {
    interface IResourceTreeNode {
        expanded: boolean;
        hasNodes: boolean;
        icon: "folder.png";
        id: string;
        name: string;
        items: Array<IResourceTreeNode>;
        parentId: string;
        type: "folder";
    }
    interface IResourceTreeNodeOptions extends IResourceTreeNode {
    }
    class ResourceTreeNode extends Core.Model {
        private m_nodes;
        private m_parent;
        constructor(options: IResourceTreeNodeOptions);
        get id(): string;
        get parent(): ResourceTreeNode;
        private set parent(value);
        get parentId(): string;
        private set parentId(value);
        get icon(): string;
        set icon(value: string);
        get name(): string;
        set name(value: string);
        get role(): string;
        get nodes(): ResourceTreeNodeCollection;
        setParent(parent: ResourceTreeNode): void;
        move(target: ResourceTreeNode, insertAt?: number): void;
        remove(): void;
        update(state: IResourceTreeNode): void;
        toJSON(): IResourceTreeNode;
        toMarkup(): string;
    }
}
declare namespace PDJS.Core.Security {
    interface IAccessControlList {
        permissions: Array<Core.Security.IPermission>;
        aces: Array<Core.Security.IAce>;
    }
    interface IAccessControlListOptions {
        permissions: Array<IPermission>;
        aces: Array<IAce>;
        commit: () => void;
    }
    class AccessControlList extends Model {
        private m_aces;
        private m_permissions;
        constructor(options: IAccessControlListOptions);
        get aces(): AceCollection;
        get permissions(): PermissionCollection;
        get commitCallback(): () => void;
        commit(): void;
        toJSON(): IAccessControlList;
    }
}
declare namespace PDJS.Core.Security {
    interface IPermissionGrant {
    }
    interface IPrivilege {
        allow: number;
        deny: number;
    }
    interface IAce extends IPrivilege {
        id: number;
        name: string;
        type: number;
        inherited: IPrivilege;
    }
    interface IAceOptions extends IAce {
    }
    class Ace extends Model {
        private m_hasChanged;
        constructor(options: IAceOptions);
        get id(): number;
        set id(value: number);
        get name(): string;
        set name(value: string);
        get type(): number;
        set type(value: number);
        get allow(): number;
        set allow(value: number);
        get deny(): number;
        set deny(value: number);
        get inherited(): IPrivilege;
        get isInherited(): boolean;
        get hasChanged(): boolean;
        toJSON(): IAce;
        revertToInherited(): void;
        addAllow(permission: number): void;
        addDeny(permission: number): void;
        clearAllow(permission: number): void;
        clearDeny(permission: number): void;
        isAllowed(permission: number): boolean;
        isDenied(permission: number): boolean;
        isAllowedPartial(permission: number): boolean;
        isDeniedPartial(permission: number): boolean;
        resetHasChanged(): void;
    }
}
declare namespace PDJS.Core.Security {
    class AceCollection extends Jade.Collection<Ace> {
        private m_hasChanged;
        constructor(data?: Array<IAce>);
        add(ace: Ace): boolean;
        contains(ace: Ace): boolean;
        remove(ace: Ace): Ace;
        toJSON(): Array<IAce>;
        update(ace: Ace): boolean;
        getById(id: number): Ace;
        haveAcesChanged(): boolean;
        resetAcesChanged(): void;
    }
}
declare namespace PDJS.Core.Security {
    interface IPermission {
        name: string;
        value: number;
        isBasic: boolean;
    }
    interface IPermissionOptions extends IPermission {
    }
    class Permission extends Model {
        constructor(options: IPermission);
        get name(): string;
        set name(value: string);
        get value(): number;
        set value(value: number);
        get isBasic(): boolean;
        set isBasic(value: boolean);
        toJSON(): IPermission;
    }
}
declare namespace PDJS.Core.Security {
    class PermissionCollection extends Jade.Collection<Permission> {
        constructor(data?: Array<IPermission>);
        hasExpandPermissions(): boolean;
        getBasicPermissions(): Array<IPermission>;
        getExpandedPermissions(): Array<IPermission>;
        toJSON(): Array<IPermission>;
    }
}
declare namespace PDJS.Core.Upload {
    enum DuplicateFileMode {
        Fail = 0,
        Skip = 1,
        Replace = 2
    }
}
declare namespace PDJS.Core.Upload {
    interface IUploadFileBase extends IModelOptions {
        id: string;
        loaded?: number;
        name?: string;
        percent?: number;
        size?: number;
        status?: plupload.FileStatus;
        type?: string;
    }
    class UploadFileBase extends Model implements IUploadFileBase {
        constructor(options: IUploadFileBase);
        get id(): string;
        set id(value: string);
        get loaded(): number;
        set loaded(value: number);
        get name(): string;
        set name(value: string);
        get percent(): number;
        set percent(value: number);
        get size(): number;
        set size(value: number);
        get status(): plupload.FileStatus;
        set status(value: plupload.FileStatus);
        get type(): string;
        set type(value: string);
        toJSON(): IUploadFileBase;
    }
}
declare namespace PDJS.Core.Upload {
    interface IUploadFile extends IUploadFileBase {
        extension?: string;
        sizeText?: string;
    }
    interface IUploadedFile extends IUploadFile {
        fileId: string;
        fileMode: number;
    }
    interface IUploadFileOptions extends IUploadFileBase {
    }
    class UploadFile extends UploadFileBase implements IUploadFile {
        constructor(options: IUploadFileOptions);
        get extension(): string;
        set extension(value: string);
        get sizeText(): string;
        toJSON(): IUploadFile;
    }
}
declare namespace PDJS.Core.Upload {
    class UploadFileCollection extends Jade.Collection<UploadFile> {
    }
}
declare namespace PDJS.Core.Utilities {
    interface IAlertTypeDictionary {
        [key: number]: any;
    }
    interface ITaskStart {
        taskId: string;
        alerts: IAlertTypeDictionary;
    }
}
declare namespace PDJS.Core.Views {
    class ColorGenerator {
        private static m_instance;
        private m_index;
        private m_colors;
        static get instance(): ColorGenerator;
        private get colors();
        private get index();
        private set index(value);
        private get shouldReset();
        getColor(): string;
        reset(): void;
        private static ensureInstance;
    }
}
declare namespace PDJS.Core.Views {
    interface IConstraint {
        id?: string;
        role?: "condition" | "filter";
        isEnabled?: boolean;
    }
    interface IConstraintOptions extends IModelOptions, IConstraint {
        parent: Condition;
    }
    class Constraint extends Model {
        private m_parent;
        constructor(options: IConditionOptions);
        get id(): string;
        get role(): "condition" | "filter";
        get parent(): Condition;
        protected set parent(value: Condition);
        get isEnabled(): boolean;
        set isEnabled(value: boolean);
        toJSON(): any;
        toMarkup(): string;
        getDepth(): number;
        move(target: Condition): void;
        remove(): void;
        protected onEnabledChanged(): void;
    }
}
declare namespace PDJS.Core.Views {
    interface IConditionCounts {
        filters: number;
        conditions: number;
    }
    interface ICondition extends IConstraint {
        isEnabled?: boolean;
        operatorName?: string;
        conditions?: Array<ICondition>;
        filters?: Array<IFilter>;
        color?: string;
    }
    interface IConditionOptions extends IModelOptions, ICondition {
        parent?: Condition;
    }
    class Condition extends Constraint {
        private m_conditions;
        private m_filters;
        constructor(options: IConditionOptions);
        get conditions(): ConditionCollection;
        get filters(): FilterCollection;
        get operatorName(): "AND" | "OR";
        set operatorName(value: "AND" | "OR");
        get isFirst(): boolean;
        get isLast(): boolean;
        get parentColor(): string;
        get color(): string;
        get hasConditionsOrFilters(): boolean;
        toJSON(): ICondition;
        remove(): void;
        move(target: Condition): void;
        getFilter(id: string): Filter;
        getCondition(id: string): Condition;
        getCounts(): IConditionCounts;
        toKendoData(): ICondition;
        toMarkup(): string;
        private generateFiltersCollection;
        private generateConditionsCollection;
    }
}
declare namespace PDJS.Core.Views {
    class ConditionCollection extends Jade.Collection<Condition> {
        toJSON(): Array<ICondition>;
        toKendoData(): Array<ICondition>;
    }
}
declare namespace PDJS.Core.Views {
    interface IConstraintsOptions extends IModelOptions {
        condition?: ICondition;
        commit: (data: ICondition) => void;
    }
    class Constraints extends Model {
        private m_condition;
        constructor(options: IConstraintsOptions);
        get condition(): Condition;
        get commitCallback(): (data: ICondition) => void;
        addCondition(condition: ICondition, parentId?: string): Condition;
        addFilter(filter: IFilter, parentId?: string): Filter;
        getFilter(id: string, condition?: Condition): Filter;
        getCondition(id: string): Condition;
        getConstraint(id: string): Constraint;
        move(srcId: string, dstId: string): boolean;
        remove(id: string): void;
        clear(): void;
        toJSON(): ICondition;
        toKendoData(): Array<ICondition>;
        commit(): void;
        getTotalDepth(): number;
    }
}
declare namespace PDJS.Core.Views {
    interface IContextFilterParam {
        [key: string]: any;
    }
    interface IContextFilter {
        id: string;
        params?: IContextFilterParam;
    }
    class ContextFilter implements IContextFilter {
        private m_id;
        private m_params;
        constructor(id: string, params: IContextFilterParam);
        get id(): string;
        get params(): IContextFilterParam;
        toJSON(): IContextFilter;
    }
}
declare namespace PDJS.Core.Views {
    class EntityFilter extends ContextFilter {
        constructor(id: string, params: IContextFilterParam);
        static parentFilter(childTypeId: any): EntityFilter;
        static descendantsOnly(entityId: any): EntityFilter;
    }
    class IdentityFilter extends ContextFilter {
        constructor(id: string, params?: IContextFilterParam);
        static activeOnly(): IdentityFilter;
        static usersOnly(): IdentityFilter;
        static groupsOnly(): IdentityFilter;
        static excludeAllAdmins(): IdentityFilter;
        static excludeSysAdmins(): IdentityFilter;
        static excludeBuiltIns(): IdentityFilter;
        static excludeEveryone(): IdentityFilter;
    }
    class FormFieldFilter extends ContextFilter {
        constructor(id: string, params?: IContextFilterParam);
        static listData(isList: boolean): IdentityFilter;
        static fileBased(): IdentityFilter;
        static extension(extensionId: number): IdentityFilter;
    }
}
declare namespace PDJS.Core.Views {
    enum CssClass {
        Constraint = "-pdjs-view-filter-tree-constraint",
        Condition = "-pdjs-view-filter-tree-condition",
        Filter = "-pdjs-view-filter-tree-filter"
    }
}
declare namespace PDJS.Core.Views {
    interface IFilter extends IConstraint {
        autoValueId?: any;
        autoValueName?: string;
        columnId?: string;
        columnName?: string;
        operatorId?: number;
        operatorName?: string;
        scalarFunctionId?: string;
        scalarFunctionName?: string;
        useAutoValue?: boolean;
        value?: any;
        verse?: string;
    }
    interface IFilterOptions extends IModelOptions, IFilter {
        parent?: Condition;
    }
    class Filter extends Constraint {
        constructor(options: IFilterOptions);
        get autoValueId(): string;
        get autoValueName(): string;
        get columnId(): string;
        get columnName(): string;
        get operatorId(): number;
        get operatorName(): string;
        get scalarFunctionId(): string;
        get scalarFunctionName(): string;
        get useAutoValue(): boolean;
        get value(): any;
        get verse(): string;
        get isFirst(): boolean;
        get isLast(): boolean;
        get color(): string;
        toJSON(): IFilter;
        remove(): void;
        update(state: IFilter): void;
        toKendoData(): IFilter;
        move(target: Condition, insertAt?: number): void;
        toMarkup(): string;
    }
}
declare namespace PDJS.Core.Views {
    class FilterCollection extends Jade.Collection<Filter> {
        toJSON(): Array<IFilter>;
        toKendoData(): Array<IFilter>;
    }
}
declare namespace PDJS.Core.Views {
    interface IView {
        id: number;
        name: string;
        description: string;
    }
}
declare namespace PDJS.Hub {
    class ApplicationBar extends Jade.UI.Control {
        private m_userPanel;
        private m_viewPanel;
        private m_createPanel;
        private get titleNode();
        private get rightDockNode();
        private get leftDockNode();
        private get env();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private populate;
        private createPanel_init;
        private userPanel_init;
        private viewPanel_init;
    }
}
declare namespace PDJS.Hub {
    interface IApplicationBarItemOptions extends Jade.UI.IControlOptions {
        icon?: string;
        url?: string;
        width?: number;
        backgroundColor?: string;
        onClick?: (e: JQueryEventObject) => void;
    }
    class ApplicationBarItem extends Jade.UI.Control {
        constructor(options: IApplicationBarItemOptions);
        private get icon();
        private get url();
        get width(): number;
        protected get backgroundColor(): string;
        private get onClickCallback();
        get target(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuPopUpOptions extends IPanelMenuOptions {
        anchor: JQuery;
        hideOthers?: boolean;
        hideOnClickOutside?: boolean;
        hideOnMouseLeave?: boolean;
        top?: number;
    }
    class PanelMenuPopUp extends Jade.UI.Control {
        constructor(options: IPanelMenuPopUpOptions);
        get anchor(): JQuery;
        get hideOnMoueLeave(): boolean;
        get hideOnClickOutside(): boolean;
        get hideOthers(): boolean;
        get top(): number;
        get visible(): boolean;
        template(): string | Array<string> | JQuery;
        hide(): void;
        show(): void;
        toggle(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected hideOtherPanels(): void;
        private hideOnClickEventOn;
        private hideOnClickEventOff;
    }
}
declare namespace PDJS.Hub {
    interface ICreatePanelOptions extends PDJS.Shared.UI.Controls.IPanelMenuPopUpOptions {
    }
    class CreatePanel extends PDJS.Shared.UI.Controls.PanelMenuPopUp {
        constructor(options: ICreatePanelOptions);
        private get env();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Hub {
    class GlobalSearch extends ApplicationBarItem {
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Hub {
    interface IUserPanelOptions extends PDJS.Shared.UI.Controls.IPanelMenuPopUpOptions {
    }
    class UserPanel extends PDJS.Shared.UI.Controls.PanelMenuPopUp {
        constructor(options: IUserPanelOptions);
        private get env();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private addRecentEntities;
        private addRecentViews;
        private addPersonalization;
        private addAdministration;
        private addHelp;
        private addLogout;
    }
}
declare namespace PDJS.Hub {
    interface IViewPanelOptions extends PDJS.Shared.UI.Controls.IPanelMenuPopUpOptions {
    }
    class ViewPanel extends PDJS.Shared.UI.Controls.PanelMenuPopUp {
        constructor(options: IViewPanelOptions);
        private get env();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private addViews;
    }
}
declare namespace PDJS.Hub.Explorer {
    enum CssClass {
        ExplorerTree = "-pdjs-explorer-tree",
        ExplorerTreeNode = ""
    }
}
declare namespace PDJS.Hub.Explorer {
    enum Events {
        CanvasLoaded = "CanvasLoaded",
        ContentLoaded = "ContentLoaded",
        ContentRequested = "ContentRequested",
        ReloadExplorer = "ReloadExplorer",
        FilesMoved = "FilesMoved"
    }
    interface IContentRequestedEventArgs {
        entityId: number;
        folderId: number;
        record: boolean;
    }
    interface IContentLoadedEventArgs {
        entityId: number;
        folderId: number;
        isHistory: boolean;
    }
    interface IReloadExplorerArgs {
        folderId?: number;
    }
    interface IFilesMovedEventArgs {
        srcFolderId: number;
        srcFileCount: number;
        dstFolderId: number;
        dstFileCount: number;
    }
    interface ICanvasLoadedEventArgs {
        canvas: PDJS.Canvas.Actual.CanvasViewBox;
    }
}
declare namespace PDJS.Shared {
    class EventsHubBase {
        protected static get global(): Jade.ContextEventBus;
        protected static get current(): Jade.ContextEventBus;
    }
}
declare namespace PDJS.Hub.Explorer {
    class EventsHub extends PDJS.Shared.EventsHubBase {
        static contentLoadedPublish(args: IContentLoadedEventArgs): void;
        static contentRequestedPublish(args: IContentRequestedEventArgs): void;
        static reloadExplorerPublish(args?: IReloadExplorerArgs): void;
        static contentLoadedSubscribe(handler: (args: IContentLoadedEventArgs) => void): Jade.EventBusSubscription;
        static contentRequestedSubscribe(handler: (args: IContentRequestedEventArgs) => void): Jade.EventBusSubscription;
        static reloadExplorerSubscribe(handler: (args: IReloadExplorerArgs) => void): Jade.EventBusSubscription;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IExplorerContentOptions extends Jade.UI.IControlOptions {
    }
    interface ILoadArguments {
        entityId: number;
        folderId: number;
        record: boolean;
    }
    class ExplorerContent extends Jade.UI.Control {
        private m_contentPage;
        private m_formTypeMap;
        constructor(options: IExplorerContentOptions);
        template(): string | Array<string> | JQuery;
        load(args: ILoadArguments): void;
    }
}
declare namespace PDJS.Hub.Explorer {
    enum Events {
        FileChangeEvent = "File:Change"
    }
    class ExplorerContext {
        constructor();
        unload(): void;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IExplorerNavOptions extends Jade.UI.IControlOptions {
        entityId: number;
        folderId: number;
    }
    class ExplorerNav extends Jade.UI.Control {
        private m_tree;
        constructor(options: IExplorerNavOptions);
        private get entityId();
        private get folderId();
        template(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private tree_init;
    }
}
declare namespace PDJS.Hub.Explorer {
    class ExplorerPage extends Jade.UI.Control {
        private m_explorerSplitter;
        private m_explorerNav;
        private m_explorerContent;
        constructor(options: any);
        private get options();
        private get explorerNav();
        private get explorerContent();
        private get explorerSplitter();
        private get explorerSplitterNode();
        template(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onBrowserResize(): void;
        private explorerNav_init;
        private explorerContent_init;
        private explorerSplitter_init;
        private explorerSplitter_resize;
        private explorerSplitter_windowResize;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    type TreeViewNodeId = string | number;
    interface ITreeViewEventArgs {
        isDefaultPrevented(): boolean;
        preventDefault: Function;
    }
    interface ITreeViewDropEventArgs extends ITreeViewEventArgs {
        dropPosition?: string;
        dropTarget?: Element;
        dstNode?: JQuery;
        dstData?: any;
        setValid?: Function;
        srcNode?: JQuery;
        srcData?: any;
        valid?: boolean;
    }
    interface ITreeViewNodeRequestEventArgs extends ITreeViewEventArgs {
        initialize: boolean;
    }
    interface ITreeViewNodeRequestCompleteEventArgs {
        nodeId?: TreeViewNodeId;
        initialize?: boolean;
    }
    interface ITreeViewSelectEventArgs extends ITreeViewEventArgs {
        node?: JQuery;
        model: Core.Data.Hierarchical.ModelNodeBase;
        data: any;
    }
    interface ITreeViewExpandEventArgs extends ITreeViewEventArgs {
        node?: JQuery;
        model: Core.Data.Hierarchical.ModelNodeBase;
        data: any;
        success?: Function;
    }
    interface ITreeViewRefreshArgs {
        nodeId?: TreeViewNodeId;
        expand?: boolean;
        expanded?: Array<string>;
        success?: Function;
    }
    interface ITreeViewNodeInfo {
        data: any;
        model: Core.Data.Hierarchical.ModelNodeBase;
        node: JQuery;
        hasNode: boolean;
        nodeLoaded: boolean;
    }
    interface ITreeViewOptions extends Jade.UI.IControlOptions {
        dragAndDrop?: boolean;
        cssClass?: string;
    }
    class TreeView extends Jade.UI.Control {
        private m_model;
        private m_tree;
        protected get model(): Core.Data.Hierarchical.ModelBase;
        protected set model(value: Core.Data.Hierarchical.ModelBase);
        protected get cssClass(): boolean;
        protected get dragAndDrop(): boolean;
        protected get selectedNode(): JQuery;
        protected get tree(): kendo.ui.TreeView;
        protected set tree(value: kendo.ui.TreeView);
        addNode(model: Core.Data.Hierarchical.ModelNodeBase, parentId?: any): void;
        removeNode(id: any): void;
        select(nodeId: any, expand?: boolean): void;
        applyTemplate(modelNodeId: number): void;
        refresh(args?: ITreeViewRefreshArgs): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onSelect(e: ITreeViewSelectEventArgs): void;
        protected onChange(e: ITreeViewSelectEventArgs): void;
        protected onNodeDrop(e: ITreeViewDropEventArgs): void;
        protected onNodeRequestComplete(e: ITreeViewNodeRequestCompleteEventArgs): void;
        protected createModel(): Core.Data.Hierarchical.ModelBase;
        protected ensureModel(): void;
        protected expandNode(args: ITreeViewExpandEventArgs): void;
        protected getExpandedNodeIds(nodeId?: any): Array<any>;
        protected getNodeById(id: any): JQuery;
        protected getNodeInfo(value: TreeViewNodeId | Element | JQuery | Core.Data.Hierarchical.ModelNodeBase): ITreeViewNodeInfo;
        protected getSelectedModelNode(): Core.Data.Hierarchical.ModelNodeBase;
        protected initializeNodes(id: any): void;
        protected rebuildNode(nodeData: any, expanded?: boolean): void;
        private tree_init;
        private tree_change;
        private tree_dataBound;
        private tree_drop;
        private tree_expand;
        private tree_collapse;
        private tree_select;
        private tree_template;
        private getNodeId;
        private getNodeInfoById;
        private getNodeInfoByNode;
        private getNodeInfoByNodeModel;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IExplorerTreeOptions extends Shared.UI.Controls.ITreeViewOptions {
        entityId: number;
        folderId: string | number;
    }
    class ExplorerTree extends PDJS.Shared.UI.Controls.TreeView {
        constructor(options: IExplorerTreeOptions);
        private get entityId();
        private get folderId();
        protected createModel(): Core.Data.Hierarchical.ModelBase;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onSelect(e: PDJS.Shared.UI.Controls.ITreeViewSelectEventArgs): void;
        protected onNodeRequestComplete(e: PDJS.Shared.UI.Controls.ITreeViewNodeRequestCompleteEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface INavigateArgs {
        entityId: number;
        folderId: number;
        record: boolean;
        reject?: Function;
    }
    interface IRecordHistoryArgs {
        entityId: number;
        folderId: number;
    }
    class Navigator {
        private static m_internal;
        protected static get internal(): PDJS.Shared.Navigate.Navigator;
        static navigate(e: INavigateArgs): void;
        static recordHistory(e: IRecordHistoryArgs): void;
        static reloadHistory(entityId: number, folderId: number): void;
        private static ensureNavigator;
        private static generateStateUrl;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum ContentPageCss {
        ContentPageContent = "-pdjs-explorer-content",
        ContentPageHead = "-pdjs-explorer-content-head",
        ContentPageTabs = "-pdjs-explorer-content-tabs",
        ContentPageMenu = "-pdjs-explorer-content-menu",
        ContentPageMain = "-pdjs-explorer-content-main"
    }
    class ContentPage extends Jade.UI.Control {
        protected get headNode(): JQuery;
        protected get headNodeClass(): string;
        protected get tabsNode(): JQuery;
        protected get tabsNodeClass(): string;
        protected get menuNode(): JQuery;
        protected get menuNodeClass(): string;
        protected get bodyNode(): JQuery;
        protected get bodyNodeClass(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected addHead(): void;
        protected addTabs(): void;
        protected addMenu(): void;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IExplorerTab {
        entityId: number;
        folderId: number;
        folderIcon: string;
        folderName: string;
        fileCount: number;
        selected: boolean;
    }
    interface IContentBaseOptions extends Jade.UI.IControlOptions {
        data?: {
            entityId?: number;
            folderId?: number;
        };
    }
    class ContentPage extends PDJS.Shared.UI.Controls.ContentPage {
        constructor(options: IContentBaseOptions);
        protected get entityId(): number;
        protected get entityName(): string;
        protected get folderId(): number;
        protected get folderIcon(): string;
        protected get folderName(): string;
        protected get allowUploads(): boolean;
        protected get allowAddChildren(): boolean;
        protected get allowAddFiles(): boolean;
        protected get allowReplaceFiles(): boolean;
        protected get allowEdit(): boolean;
        protected get allowDeleteListItem(): boolean;
        protected get allowDeleteFile(): boolean;
        protected get allowCreateEntity(): boolean;
        protected get tabs(): Array<IExplorerTab>;
        protected get viewStateId(): string;
        protected get contextualFilters(): Array<any>;
        protected get documentId(): string;
        protected get extensionId(): number;
        protected get entityTypes(): Array<any>;
        protected get promptAfterCreate(): Array<any>;
        protected get doubleClickMode(): number;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        protected addHead(): void;
        protected addTabs(): void;
        protected getProperty(id: string): any;
    }
}
declare namespace PDJS.Hub.Explorer.Canvas {
    class CanvasPage extends ContentPage {
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    interface ISelectedEntity {
        id: number;
        name: string;
        type: number;
    }
    class ContentListCommandBase extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get grid(): PD.Web.UI.Controls.ViewGrid;
        protected get entityId(): number;
        protected get folderId(): number;
        protected get entities(): Array<ISelectedEntity>;
        protected get ids(): Array<number>;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class ContentListCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    enum ContentListPageEvent {
        onGridRefreshRequest = "grid/refresh-request"
    }
    interface IContentListPageOptions extends IContentBaseOptions {
        data?: {
            contextualFilters: Array<any>;
            entityId?: number;
            folderId?: number;
            viewStateId?: string;
            entityTypes?: Array<any>;
        };
    }
    class ContentListPage extends ContentPage {
        private m_grid;
        private m_menu;
        constructor(options: IContentListPageOptions);
        protected onTemplate(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private menu_init;
        private contextMenu_init;
        private setCommandState;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class ContextMenuSegment extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class ToolbarSegment {
        onAddItems(e: ToolbarSegmentEventArgs): void;
        meetsLoadConditions(e: any): boolean;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class ToolbarSegment extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class AddToFavortiesCommand extends ContentListCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class DeleteCommand extends ContentListCommandBase {
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        private deleteEntities;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    interface IEntityType {
        id: number;
        name: string;
        icon: string;
        description: string;
    }
    export class NewCommand extends ContentListCommandBase {
        private m_popUp;
        constructor(props: Jade.ICommandProps);
        protected get buttonNode(): JQuery;
        protected get entityTypes(): Array<IEntityType>;
        protected get promptAfterCreate(): boolean;
        protected get allowAddChildren(): boolean;
        protected get allowCreateEntity(): boolean;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
        private triggerPopUp;
        private createPopUp;
        private showCreateEntityDialog;
    }
    export {};
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class OpenCommand extends ContentListCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class OpenInNewWindowCommand extends ContentListCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class PropertiesCommand extends ContentListCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.ContentList {
    class ReportsCommand extends ContentListCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IContentPageHeaderOptions extends Jade.UI.IControlOptions {
        entityName: string;
        folderName: string;
        folderIcon: string;
    }
    class ContentPageHeader extends Jade.UI.Control {
        constructor(options: IContentPageHeaderOptions);
        protected get entityName(): string;
        protected get folderIcon(): string;
        protected get folderName(): string;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Hub.Explorer.CustomUrl {
    class CustomUrlPage extends ContentPage {
        private get url();
        private get hideNavigation();
        protected onTemplate(): void;
        protected addMenu(): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class ContextMenuSegment extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    interface ISelectedEntity {
        id: number;
        name: string;
        type: number;
    }
    class DesignableListCommandBase extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get allowDeleteListItem(): boolean;
        protected get allowEdit(): boolean;
        protected get documentId(): string;
        protected get entityId(): number;
        protected get extensionId(): number;
        protected get folderId(): number;
        protected get items(): Array<any>;
        protected get itemIds(): Array<number>;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    interface IDesignableListDialogOptions extends Jade.UI.IControlOptions {
        documentId: string;
        entityId: number;
        extensionId: number;
        folderId: number;
        rowIds: Array<number>;
        isCopy: boolean;
    }
    class DesignableListDialog extends Jade.UI.Dialog {
        get okButton(): JQuery;
        get cancelButton(): JQuery;
        get documentId(): string;
        get entityId(): number;
        get extensionId(): number;
        get folderId(): number;
        get rowIds(): Array<number>;
        get isCopy(): boolean;
        get viewBox(): PDJS.Canvas.Actual.CanvasViewBox;
        set viewBox(value: PDJS.Canvas.Actual.CanvasViewBox);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private okButton_onClick;
        private cancelButton_onClick;
        template(): string | JQuery | Array<string>;
        protected getWindowOptions(): any;
        private createItem;
        private updateItem;
        private itemRequestSuccess;
        private itemRequestError;
        static open(options: IDesignableListDialogOptions, callback?: Function): DesignableListDialog;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    enum DeisgnableListPageEvent {
        onListItemRefreshRequest = "list-item/refresh-request"
    }
    interface IDesignableListPageOptions extends IContentBaseOptions {
        data?: {
            contextualFilters: Array<any>;
            documentId: string;
            entityId?: number;
            extensionId: number;
            folderId?: number;
            viewStateId?: string;
        };
    }
    class DesignableListPage extends ContentPage {
        private m_grid;
        private m_menu;
        constructor(options: IDesignableListPageOptions);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onTemplate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private menu_init;
        private contextMenu_init;
        private setCommandState;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class ToolbarSegment extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class CopyListItemCommand extends DesignableListCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class CreateListItemCommand extends DesignableListCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class DeleteListItemCommand extends DesignableListCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
        private deleteItems;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class DesignableListCommands extends Jade.CommandGroup<Jade.ICommandState> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.DesignableList {
    class EditListItemCommand extends DesignableListCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class ContextMenuSegment extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class FileExplorerCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get items(): Array<IFileExplorerGridRow>;
        protected get fileIds(): Array<number>;
        protected get grid(): PD.Web.UI.Controls.ViewGrid;
        protected get entityId(): number;
        protected get folderId(): number;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class FileExplorerCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    interface IFileExplorerGridRow {
        id: number;
        parentId: number;
        folderId: number;
    }
    enum FileExplorerPageEvent {
        onGridRefreshRequest = "grid/refresh-request"
    }
    interface IFileExplorerPageOptions extends IContentBaseOptions {
        data?: {
            contextualFilters: Array<any>;
            entityId?: number;
            folderId?: number;
            viewStateId?: string;
        };
    }
    class FileExplorerPage extends ContentPage {
        private m_grid;
        private m_menu;
        constructor(options: IFileExplorerPageOptions);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onTemplate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private menu_init;
        private contextMenu_init;
        private setCommandState;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class ToolbarSegment extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class DownloadCommand extends FileExplorerCommand {
        constructor(props: Jade.ICommandProps);
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private downloadMultipleFiles;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    interface IFileOpenLocationCommandOptions extends Jade.ICommandProps {
        inNewWindow?: boolean;
    }
    class FileOpenLocationCommand extends FileExplorerCommand {
        constructor(options?: IFileOpenLocationCommandOptions);
        protected get fileParentId(): number;
        protected get fileFolderId(): number;
        protected get inNewWindow(): boolean;
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileExplorer {
    class PropertiesCommand extends FileExplorerCommand {
        constructor(props: Jade.ICommandProps);
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ContextMenuSegment extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    enum FileFolderPageEvent {
        onGridRefreshRequest = "grid/refresh-request"
    }
    interface IFileFolderPageOptions extends IContentBaseOptions {
        data?: {
            contextualFilters: Array<any>;
            entityId?: number;
            folderId?: number;
            viewStateId?: string;
        };
    }
    class FileFolderPage extends ContentPage {
        private m_grid;
        private m_menu;
        constructor(options: IFileFolderPageOptions);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onTemplate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private menu_init;
        private contextMenu_init;
        private setCommandState;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ToolbarSegment extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface ISelectedFile {
        id: number;
        name: string;
        extension: string;
    }
    class FileFolderCommandBase extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get allowDeleteFile(): boolean;
        protected get allowEdit(): boolean;
        protected get allowAddFiles(): boolean;
        protected get allowReplaceFiles(): boolean;
        protected get allowUploads(): boolean;
        protected get entityId(): number;
        protected get folderId(): number;
        protected get files(): Array<ISelectedFile>;
        protected get ids(): Array<number>;
        protected get parentContext(): Jade.Context;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class FileFolderCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class StoredFileCommandBase extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get files(): StoredFileCollection;
        protected get status(): UploadStatus;
        protected get hasFiles(): boolean;
        protected get hasSelectedFiles(): boolean;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class StoredFileCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ChangeTypeCommand extends FileFolderCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class DeleteCommand extends FileFolderCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
        private deleteFiles;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class DownloadCommand extends FileFolderCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private downloadMultipleFiles;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class MoveCommand extends FileFolderCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class PropertiesCommand extends FileFolderCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ReplaceCommand extends FileFolderCommandBase {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private showSuccessMessage;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class UploadCommand extends FileFolderCommandBase {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(e: any): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class AddFilesCommand extends StoredFileCommandBase {
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ClearFilesCommand extends StoredFileCommandBase {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class RemoveFilesCommand extends StoredFileCommandBase {
        onExecute(e: any): void;
        protected onStateChanged(state: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class SelectFilesCommand extends StoredFileCommandBase {
        private get allSelected();
        onExecute(e: any): void;
        protected onStateChanged(state: any): void;
        protected getDefaultValuesForProps(): any;
        private setDisplay;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class SetFileTypeCommand extends StoredFileCommandBase {
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private showDocumentTypeSelectionDialog;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IStoredFileOptions extends Jade.UI.IControlOptions {
        $source: PDJS.Core.Files.StoredFile;
        onSelected?: (item: StoredFile) => void;
        onChange?: (item: StoredFile) => void;
    }
    class StoredFile extends Jade.UI.Control {
        constructor(options: IStoredFileOptions);
        get source(): PDJS.Core.Files.StoredFile;
        protected get fileNameNode(): JQuery;
        protected get fileSizeNode(): JQuery;
        protected get statusNode(): JQuery;
        protected get typeNode(): JQuery;
        protected get typeNameNode(): JQuery;
        protected get labelNode(): JQuery;
        protected get iconNode(): JQuery;
        protected get editNode(): JQuery;
        protected get editButtonNode(): JQuery;
        protected get percentNode(): JQuery;
        protected get checkBoxNode(): JQuery;
        protected get progressNode(): JQuery;
        protected get progressBarNode(): JQuery;
        protected get onSelectedCallback(): (e: StoredFile) => void;
        protected get onChangeCallback(): (e: StoredFile) => void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected onCheckboxChecked(e: JQueryEventObject): void;
        template(): string | Array<string> | JQuery;
        protected updateUI(): void;
        protected editButton_onClick(e: JQueryEventObject): void;
        protected typeName_onClick(e: JQueryEventObject): void;
        protected createErrorsToolTip(): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IFileCollectionOptions {
        controls: Jade.UI.IControlCollection<Jade.UI.Control>;
    }
    class StoredFileCollectionBase<TFile extends StoredFile> extends Jade.ObservableCollection<TFile> {
        private m_controls;
        constructor(options: IFileCollectionOptions, callbacks?: Jade.IObservableCollectionEventCallbacks<TFile>);
        protected get controls(): Jade.UI.IControlCollection<Jade.UI.Control>;
        get selected(): Jade.ObservableCollection<TFile>;
        getById(id: string): TFile;
        getByFormStatus(...status: Core.Files.FileStatus[]): Jade.ObservableCollection<TFile>;
    }
    class StoredFileCollection extends StoredFileCollectionBase<StoredFile> {
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IStoredFileContainerOptions extends Jade.UI.IControlOptions {
        fileIds: Array<number>;
        onChange: () => void;
    }
    class StoredFileContainer extends Jade.UI.Control {
        private m_files;
        constructor(options: IStoredFileContainerOptions);
        get files(): StoredFileCollection;
        get fileIds(): Array<number>;
        get onChangeCallback(): () => void;
        get allFilesCommited(): boolean;
        get noFilesWithErrors(): boolean;
        get noFilesPending(): boolean;
        template(): JQuery | Array<string> | string;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private populate;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IUploadFileOptions extends IStoredFileOptions {
        $source: PDJS.Core.Files.UploadFile;
        onSelected?: (item: UploadFile) => void;
        onChange?: (item: UploadFile) => void;
    }
    class UploadFile extends StoredFile {
        get source(): PDJS.Core.Files.UploadFile;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected updateUI(): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class UploadFileCollection extends StoredFileCollectionBase<UploadFile> {
        getByUploadId(id: string): UploadFile;
        getByUploadStatus(...status: plupload.FileStatus[]): Jade.ObservableCollection<UploadFile>;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class IChangeDocumentTypeDialogOptions {
        entityId: number;
        folderId: number;
        fileIds: Array<number>;
        [key: string]: any;
    }
    class ChangeDocumentTypeDialog extends Jade.UI.Dialog {
        m_fileContainer: StoredFileContainer;
        m_progressbar: PDJS.Shared.UI.Controls.ProgressBar;
        m_toolbar: Jade.UI.ToolBar;
        constructor(options: IChangeDocumentTypeDialogOptions);
        protected get entityId(): number;
        protected get folderId(): number;
        protected get fileContainer(): StoredFileContainer;
        protected get fileIds(): Array<number>;
        private get okButtonNode();
        private get cancelButtonNode();
        template(): JQuery | Array<string> | string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private toolbar_init;
        private progressbar_init;
        private okButton_onClick;
        private setButtonState;
        private checkAllFilesCommittedAndClose;
        private updateContext;
        private onFileChange;
        private updateProgressBarDisplay;
        private selectAllDocumentOnOpen;
        static open(options: IChangeDocumentTypeDialogOptions): ChangeDocumentTypeDialog;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class ChangeDocumentTypeToolbarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IFileFormDialogOptions extends Jade.UI.IDialogOptions {
        canvasDocument: PDJS.Canvas.Core.Documents.DocumentModel;
        lastCommitResponse: Services.Canvas.Forms.ISubmitFormResponseBase;
        fileId: number;
    }
    class FileFormDialog extends Jade.UI.Dialog {
        private m_viewBox;
        private get canvasDocument();
        private get fileId();
        private set fileId(value);
        private get viewBox();
        private get okButtonNode();
        private get cancelButtonNode();
        private get lastCommitResponse();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private onValidationErrors;
        private applyLastCommitResponse;
        static open(options: IFileFormDialogOptions): FileFormDialog;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IFileMoveDialogOptions extends Jade.UI.IDialogOptions {
        entityId: number;
        fileIds: Array<number>;
    }
    class FileMoveDialog extends Jade.UI.Dialog {
        private m_tree;
        private get entityId();
        private get folderId();
        private set folderId(value);
        private get fileIds();
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private executeMove;
        private tree_init;
        private setOkButtonEnabledState;
        static open(options: IFileMoveDialogOptions): FileMoveDialog;
    }
}
declare namespace PDJS.Hub.Explorer {
    interface IFileMoveTreeOptions extends Shared.UI.Controls.ITreeViewOptions {
        entityId: number;
        folderId: string | number;
        select?: (folderId: number) => void;
    }
    class FileMoveTree extends PDJS.Shared.UI.Controls.TreeView {
        constructor(options: IFileMoveTreeOptions);
        private get entityId();
        private get folderId();
        private get selectCallback();
        protected createModel(): Core.Data.Hierarchical.ModelBase;
        protected onActivate(e: any): void;
        protected onSelect(e: PDJS.Shared.UI.Controls.ITreeViewSelectEventArgs): void;
        protected onNodeRequestComplete(e: PDJS.Shared.UI.Controls.ITreeViewNodeRequestCompleteEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IFileReplaceDialogOptions extends Jade.UI.IDialogOptions {
        fileId: number;
        fileName: string;
        fileExtension: string;
    }
    class FileReplaceDialog extends Jade.UI.Dialog {
        private m_uploadInput;
        private get fileId();
        private get fileName();
        private get fileExtension();
        private get uploadId();
        private set uploadId(value);
        private get uploadName();
        private set uploadName(value);
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private executeReplace;
        private uploadInput_init;
        private setOkButtonEnabledState;
        private showSuccessDialog;
        private getFileFullName;
        static open(options: IFileReplaceDialogOptions): FileReplaceDialog;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IFileUploadDialogOptions extends Jade.UI.IControlOptions {
        entityId: number;
        folderId: number;
    }
    class FileUploadDialog extends Jade.UI.Dialog {
        m_upload: Upload;
        m_progressbar: PDJS.Shared.UI.Controls.ProgressBar;
        m_toolbar: Jade.UI.ToolBar;
        constructor(options: IFileUploadDialogOptions);
        private get upload();
        private get entityId();
        private get folderId();
        private get defaultDocumentType();
        private set defaultDocumentType(value);
        private get saveButtonNode();
        private get cancelButtonNode();
        private get uploadButtonNode();
        private get selectButtonNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        close(options?: any): void;
        template(): JQuery | Array<string> | string;
        protected getWindowOptions(): any;
        private upload_init;
        private toolbar_init;
        private progressbar_init;
        private setUploadButtonDisplay;
        private setSaveButtonDisplay;
        private onFileChange;
        private saveButton_onClick;
        private checkAllFilesCommittedAndClose;
        private updateCommandState;
        private updateProgressBarDisplay;
        static open(options?: any): FileUploadDialog;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class FileUploadToolbarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IUploadOptions extends Jade.UI.IControlOptions {
        containerNode: JQuery;
        selectButtonNode: JQuery;
        defaultDocumentType: Core.DocumentTypes.IDocumentType;
        onBeforeUpload?: (e: UploadFile) => void;
        onUploadProgress?: (e: UploadFile) => void;
        onFileUploaded?: (e: UploadFile) => void;
        onFileRemoved?: (e: UploadFile) => void;
        onQueueChanged?: (e: Jade.Collection<UploadFile>) => void;
        onUploadComplete?: (e: Jade.Collection<UploadFile>) => void;
        onFilesAdded?: (e: Jade.Collection<UploadFile>) => void;
        onFilesChanged?: (e: Jade.Collection<UploadFile>) => void;
        onError?: (e: IUploaderError) => void;
    }
    interface IUploadError {
        code: UploaderErrorType;
        message: string;
        file: UploadFile;
        response: JQueryXHR;
    }
    enum UploadStatus {
        STOPPED = 1,
        STARTED = 2
    }
    class Upload extends Jade.UI.Control {
        private m_status;
        constructor(options: IUploadOptions);
        private get selectButtonNode();
        private get containerNode();
        private get defaultDocumentType();
        private get uploader();
        private set uploader(value);
        get uploadStatus(): UploadStatus;
        private get onFileUploadedCallback();
        private get onFilesAddedCallback();
        private get onFilesChangedCallback();
        private get onBeforeUploadCallback();
        private get onFileRemovedCallback();
        private get onQueueChangedCallback();
        private get onErrorCallback();
        private get onUploadCompleteCallback();
        private get onUploadProgressCallback();
        get files(): UploadFileCollection;
        get totalPercent(): number;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private uploader_onBeforeUpload;
        private uploader_onError;
        private uploader_onFileUploaded;
        private uploader_onFilesAdded;
        private uploader_onQueueChanged;
        private uploader_onUploadComplete;
        private uploader_onUploadProgress;
        template(): JQuery | Array<string> | string;
        startUpload(): void;
        stopUpload(): void;
        private uploader_init;
        private addEmptyMessage;
        private removeEmptyMessage;
        private getMessage;
        private updateContext;
        getFormData(ids: Array<string>): void;
        private getCustomError;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class UploadMessage extends Jade.UI.Control {
        constructor();
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    interface IUploaderOptions extends Jade.UI.IControlOptions {
        containerNode: JQuery;
        dropNode?: JQuery;
        selectButtonNode: JQuery;
        onBeforeUpload?: (e: plupload.File) => void;
        onUploadProgress?: (e: plupload.File) => void;
        onFileUploaded?: (e: plupload.File) => void;
        onFileRemoved?: (e: plupload.File) => void;
        onQueueChanged?: (e: Jade.Collection<plupload.File>) => void;
        onUploadComplete?: (e: Jade.Collection<plupload.File>) => void;
        onFilesAdded?: (e: Jade.Collection<plupload.File>) => void;
        onError?: (e: IUploaderError) => void;
    }
    interface IUploaderError {
        code: UploaderErrorType;
        message: string;
        file: plupload.File;
        response: JQueryXHR;
    }
    enum UploaderErrorType {
        HTTP_ERROR = 400,
        CANNOT_READ_FILE = -300,
        FILE_TOO_LARGE = -600,
        MAX_FILE_COUNT_EXCEEDED = 1000,
        CONTAINS_ZERO_BTYE_FILES = 1001
    }
    class Uploader extends Jade.UI.Control {
        private MAX_FILE_UPLOAD;
        constructor(options: IUploaderOptions);
        private get containerNode();
        private get dropNode();
        private get selectButtonNode();
        get uploader(): plupload.IUploader;
        set uploader(value: plupload.IUploader);
        get uploadState(): plupload.UploaderState;
        private get onFileUploadedCallback();
        private get onBeforeUploadCallback();
        private get onQueueChangedCallback();
        private get onErrorCallback();
        private get onUploadProgressCallback();
        private get onUploadCompleteCallback();
        private get onFilesAddedCallback();
        private get onFileRemovedCallback();
        get files(): UploaderFileCollection;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private onBeforeUpload;
        private onError;
        private onFileUploaded;
        private onFilesAdded;
        private onQueueChanged;
        private onStateChange;
        private onUploadComplete;
        private onUploadProgress;
        template(): JQuery | Array<string> | string;
        startUpload(): void;
        stopUpload(): void;
        private uploader_init;
        private isMaxUploadValid;
        private hasNoZeroLengthFiles;
    }
}
declare namespace PDJS.Hub.Explorer.FileFolder {
    class UploaderFileCollection extends Jade.ObservableCollection<plupload.File> {
        getByStatus(status: plupload.FileStatus): Jade.ObservableCollection<plupload.File>;
        zeroLengthFiles(): Jade.ObservableCollection<plupload.File>;
        removeById(id: String): void;
    }
}
declare namespace PDJS.Hub.Explorer.HtmlTemplate {
    class HtmlTemplatePage extends ContentPage {
        private get html();
        protected onTemplate(): void;
    }
}
declare namespace PDJS.Hub.Views {
    enum TabTypes {
        global = "global",
        personal = "personal",
        custom = "custom"
    }
    interface IViewPageTab {
        icon?: string;
        text?: string;
        value: string;
        selected?: boolean;
    }
    interface IViewPageOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class ViewPage extends PDJS.Shared.UI.Controls.ContentPage {
        constructor(options: IViewPageOptions);
        protected get tabType(): TabTypes;
        protected set tabType(value: TabTypes);
        protected get viewStateId(): string;
        protected onTemplate(): void;
        protected addTabs(customTab?: IViewPageTab): void;
        protected onTabClick(tab: PDJS.Shared.UI.Controls.TabStripTab): void;
    }
}
declare namespace PDJS.Hub.Views {
    interface ISelectedView {
        id: number;
        name: string;
        category: string;
    }
    class ViewPageCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected get grid(): PD.Web.UI.Controls.ViewGrid;
        protected get views(): Array<ISelectedView>;
        protected get ids(): Array<number>;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    interface IBrowserPageOptions extends IViewPageOptions {
        name: string;
    }
    class BrowserPage extends ViewPage {
        private m_grid;
        private m_head;
        private m_toolbar;
        constructor(options: IBrowserPageOptions);
        private get gridNode();
        private get viewName();
        private get viewType();
        private get viewId();
        private get viewDescription();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onBrowserResize(): void;
        protected addHead(): void;
        protected addTabs(): void;
        private grid_init;
        private toolbar_init;
        private contextMenu_init;
        private updateCommandState;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    interface ISelectedItem {
        id: number;
        name: string;
        folderId?: number;
        parentId?: number;
    }
    class BrowserPageCommand extends Jade.Command {
        constructor(props?: Jade.ICommandProps);
        protected get grid(): PD.Web.UI.Controls.ViewGrid;
        protected get folderId(): number;
        protected get viewId(): number;
        protected get viewStateId(): number;
        protected get selectedItems(): Array<ISelectedItem>;
        protected get selectedItem(): ISelectedItem;
        protected get ids(): Array<number>;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class BrowserPageCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class BrowserPageEntityContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class BrowserPageEntityToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class BrowserPageFileContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class BrowserPageFileToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    interface IEntityOpenCommandOptions extends Jade.ICommandProps {
        inNewWindow?: boolean;
    }
    class EntityOpenCommand extends BrowserPageCommand {
        constructor(options?: IEntityOpenCommandOptions);
        protected get inNewWindow(): boolean;
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class EntityPropertiesCommand extends BrowserPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class FileDownloadCommand extends BrowserPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private downloadSingle;
        private downloadMultiple;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    interface IFileOpenLocationCommandOptions extends Jade.ICommandProps {
        inNewWindow?: boolean;
    }
    class FileOpenLocationCommand extends BrowserPageCommand {
        constructor(options?: IFileOpenLocationCommandOptions);
        protected get inNewWindow(): boolean;
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class FilePropertiesCommand extends BrowserPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class ViewPropertiesCommand extends BrowserPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class ViewRevertCommand extends BrowserPageCommand {
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        private revertView;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class ViewSaveAsCommand extends BrowserPageCommand {
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Browser {
    class ViewSaveCommand extends BrowserPageCommand {
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class GlobalPage extends ViewPage {
        private m_grid;
        private m_toolbar;
        private get gridNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onBrowserResize(): void;
        protected addHead(): void;
        protected addTabs(): void;
        private grid_init;
        private toolbar_init;
        private contextMenu_init;
        private updateCommandState;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class GlobalPageCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class GlobalPageContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class GlobalPageToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class OpenCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class OpenInNewWindowCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Global {
    class SaveAsCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class PersonalPage extends ViewPage {
        private m_grid;
        private m_toolbar;
        private get gridNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onBrowserResize(): void;
        protected addHead(): void;
        protected addTabs(): void;
        private grid_init;
        private toolbar_init;
        private contextMenu_init;
        private updateCommandState;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class PersonalPageCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class PersonalPageContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class PersonalPageToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class CategorizeCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class DeleteCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private deleteViews;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class OpenCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class OpenInNewWindowCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class PropertiesCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    class SaveAsCommand extends ViewPageCommand {
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Hub.Views.Personal {
    interface ICategoryDialogOptions extends Jade.UI.IDialogOptions {
        category?: string;
        viewIds: Array<number>;
    }
    export class CategorizeDialog extends Jade.UI.Dialog {
        private m_categoryField;
        constructor(options: ICategoryDialogOptions);
        get okButton(): JQuery;
        get cancelButton(): JQuery;
        get viewIds(): number;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private okButton_onClick;
        private cancelButton_onClick;
        template(): string | JQuery | Array<string>;
        protected getWindowOptions(): any;
        protected setDefaultInputFocus(): void;
        protected onInputReturnKeystroke(): void;
        private categoryField_init;
        private commit;
        private okAndClose;
        static open(options: ICategoryDialogOptions): CategorizeDialog;
    }
    export {};
}
declare namespace PDJS.Manage {
    enum CssClass {
        Module = "-pdjs-manage-module",
        ModuleSectionTitle = "-pdjs-manage-module-section-title"
    }
}
declare namespace PDJS.Manage {
    enum Events {
        ModuleChangeData = "module/change-data"
    }
    interface IModuleChangeDataEventArgs {
        id: string;
        label?: string;
        asterik?: boolean;
        newId?: string;
        route?: string;
        tooltip?: string;
    }
}
declare namespace PDJS.Manage {
    class EventsHub extends PDJS.Shared.EventsHubBase {
        static moduleChangeDataPublish(args: IModuleChangeDataEventArgs): void;
        static moduleChangeDataSubscribe(handler: (e: IModuleChangeDataEventArgs) => void): Jade.EventBusSubscription;
    }
}
declare namespace PDJS.Manage {
    class ApplicationBar extends Jade.UI.Control {
        private m_userPanel;
        private get env();
        private get titleNode();
        private get rightDockNode();
        private get leftDockNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private populate;
        private userPanel_init;
    }
}
declare namespace PDJS.Manage {
    interface IApplicationBarItemOptions extends Jade.UI.IControlOptions {
        icon?: string;
        url?: string;
        width?: number;
        backgroundColor?: string;
        onClick?: (e: JQueryEventObject) => void;
        target?: string;
    }
    class ApplicationBarItem extends Jade.UI.Control {
        constructor(options: IApplicationBarItemOptions);
        private get icon();
        private get url();
        get width(): number;
        protected get backgroundColor(): string;
        private get onClickCallback();
        get target(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage {
    class DocumentationSearch extends ApplicationBarItem {
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage {
    interface IUserPanelOptions extends PDJS.Shared.UI.Controls.IPanelMenuPopUpOptions {
    }
    class UserPanel extends PDJS.Shared.UI.Controls.PanelMenuPopUp {
        constructor(options: IUserPanelOptions);
        private get env();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private addPersonalization;
        private addRecentModules;
        private addHelp;
        private addLogout;
    }
}
declare namespace PDJS.Manage.Actions {
    interface IActionDialogOptions extends Jade.UI.IDialogOptions {
        originalAction: PDJS.Core.Actions.IActionDefinition;
    }
    class ActionDialog extends Jade.UI.Dialog {
        private m_editor;
        private m_plugins;
        private m_splitter;
        constructor(options: IActionDialogOptions, windowOptions?: any);
        get splitter(): kendo.ui.Splitter;
        get splitterNode(): JQuery;
        get okButtonNode(): JQuery;
        get cancelButtonNode(): JQuery;
        private get originalAction();
        onResize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        private splitter_init;
        private plugins_init;
        private editor_init;
        private okButton_onClick;
        private cancelButton_onClick;
        static open(options: IActionDialogOptions, windowOptions?: any): ActionDialog;
    }
}
declare namespace PDJS.Manage.Actions {
    interface IActionEditorLoadArgs {
        plugin: PDJS.Shared.Plugins.IPlugin;
        action: PDJS.Core.Actions.IAction;
    }
    interface IActionEditorSaveArgs {
        commitSuccess: (a: any) => void;
    }
    class ActionEditor extends Jade.UI.Control {
        private m_editor;
        private m_action;
        private m_plugin;
        private get plugin();
        private set plugin(value);
        private get originalAction();
        private set originalAction(value);
        load(args: IActionEditorLoadArgs): void;
        save(args: IActionEditorSaveArgs): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private editor_init;
        private action_init;
        private getActions;
        private getActionsListItems;
        private showMessage;
        private showEditor;
        private loadEditor;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxListItemOptions extends Jade.UI.IControlOptions {
        uidMap?: string;
        labelMap?: string;
        iconMap?: string;
        data: any;
    }
    interface IComboBoxListItem extends Jade.UI.IControlOptions {
        uid: string;
        uidMap?: string;
        label: string;
        labelMap?: string;
        icon: string;
        iconMap?: string;
        data: any;
    }
    class ComboBoxListItem extends Jade.UI.Control {
        constructor(options: IComboBoxListItemOptions);
        get data(): any;
        get uid(): any;
        get uidMap(): string;
        get label(): any;
        get labelMap(): string;
        get icon(): any;
        get iconMap(): string;
        template(): string | Array<string> | JQuery;
        protected resolveMap(id: string, defaultValue?: any): any;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ISingleSelectListItemOptions extends IComboBoxListItemOptions {
    }
    class SingleSelectListItem extends ComboBoxListItem {
    }
}
declare namespace PDJS.Manage.Actions {
    class ActionListItem extends PDJS.Shared.UI.Controls.SingleSelectListItem {
        get description(): any;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Manage.Actions {
    interface IActionPluginsOptions extends Jade.UI.IControlOptions {
        change?: (e: PDJS.Shared.Plugins.IPlugin) => void;
    }
    class ActionPlugins extends Jade.UI.Control {
        private m_list;
        private m_plugins;
        constructor(options: IActionPluginsOptions);
        private get changeCallback();
        get selectedPluginId(): string;
        set selectedPluginId(value: string);
        template(): string | Array<string> | JQuery;
        select(pluginId: string): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private list_init;
        private loadPlugins;
        private getPluginItems;
        private getSelectedPlugin;
    }
}
declare namespace PDJS.Manage.DataLoad {
    interface INewJobDialogResult {
        type: string;
        name: string;
        icon: string;
    }
    interface INewJobDialogOptions extends Jade.UI.IControlOptions {
    }
    class NewJobDialog extends Jade.UI.Dialog {
        private m_upload;
        constructor(options: INewJobDialogOptions);
        private get upload();
        private set upload(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get validateOnly();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private executeJob;
        private upload_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private enableOkBUtton;
        private showConfirmationDialog;
        private showTaskStatusDialog;
        static open(options: INewJobDialogOptions): NewJobDialog;
    }
}
declare namespace PDJS.Manage.Views {
    interface IRestrictAssignmentToDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeIds: Array<number>;
    }
    class RestrictAssignmentToDialog extends Jade.UI.Dialog {
        constructor(options: IRestrictAssignmentToDialogOptions);
        private get cancelButtonNode();
        private get okButtonNode();
        private get clearButtonNode();
        private get multiSelectNode();
        private get selections();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        static open(options: IRestrictAssignmentToDialogOptions): RestrictAssignmentToDialog;
        private init_multiselect;
        private okAndClose;
    }
}
declare namespace PDJS.Manage.DocumentTypes {
    class RestrictAssignmentEditor extends FeatureBlendJS.Views.MicroEditorBase {
        protected get listNode(): JQuery;
        protected get buttonNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
        private populate;
    }
}
declare namespace PDJS.Manage.EntityType {
    enum CssClass {
        EntityTypeModule = "-pdjs-manage-module-entity-type",
        EntityTypeActions = "-pdjs-manage-module-entity-type-actions",
        EntityTypeEditor = "-pdjs-manage-module-entity-type-editor",
        EntityTypeExplorer = "-pdjs-manage-module-entity-type-explorer",
        ExplorerModelTree = "-pdjs-manage-module-entity-type-explorer-model-tree"
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuOptions extends Jade.UI.IControlOptions {
    }
    class PanelMenu extends Jade.UI.Control {
        constructor(options: IPanelMenuOptions);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityType {
    interface IEntityTypeActionsOptions extends Jade.UI.IControlOptions {
        entityTypeId: number;
        entityTypeName?: string;
    }
    class EntityTypeActions extends PDJS.Shared.UI.Controls.PanelMenu {
        private m_modelNode;
        constructor(options: IEntityTypeActionsOptions);
        get entityTypeId(): number;
        get entityTypeName(): number;
        private get modelNode();
        private set modelNode(value);
        load(modelNode: ExplorerModel.Node): void;
        template(): string;
        protected onActivate(e: any): void;
        private addItems;
        private addCanvasItems;
        private addListDataExtensionItems;
        private addGlobalItems;
    }
}
declare namespace PDJS.Manage.EntityType {
    class EntityTypeCommandBase extends Jade.Command {
        private m_contextMenuNode;
        constructor(options: Jade.ICommandProps);
        protected get nodes(): ExplorerModel.ExplorerModel;
        protected get explorer(): EntityTypeExplorer;
        protected get editor(): EntityTypeEditor;
        protected get selectedModelNode(): ExplorerModel.Node;
        private get contextMenuNode();
        private get contextMenuNodeId();
        protected setCommandState(): void;
        private ensureContextMenuNode;
    }
}
declare namespace PDJS.Manage.EntityType {
    class AddNodeCommand extends EntityTypeCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private addNodeSuccess;
    }
}
declare namespace PDJS.Manage.EntityType {
    class DeleteNodeCommand extends EntityTypeCommandBase {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private deleteNode;
        private deleteNodeSuccess;
    }
}
declare namespace PDJS.Manage.EntityType {
    class SaveNodeCommand extends EntityTypeCommandBase {
        constructor();
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private updateNode;
    }
}
declare namespace PDJS.Manage.EntityType {
    enum DropType {
        over = "over",
        before = "before",
        after = "after"
    }
    export interface IMoveNodeCommandArgs {
        srcNodeId: number;
        dstNodeId: number;
        dropType: DropType;
    }
    export class MoveNodeCommand extends EntityTypeCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: IMoveNodeCommandArgs): void;
        protected getDefaultValuesForProps(): any;
        private moveNode;
        private getDropTypeInteger;
    }
    export {};
}
declare namespace PDJS.Manage.EntityType {
    class EntityTypeCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
    class EntityTypeContextMenuCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityType {
    interface IEntityTypeEditorOptions extends Jade.UI.IControlOptions {
        onCommit: (e: any) => void;
    }
    class EntityTypeEditor extends Jade.UI.Control {
        private m_editor;
        private m_menu;
        private m_modelNode;
        constructor(options: IEntityTypeEditorOptions);
        private get entityTypeId();
        private get modelNode();
        private set modelNode(value);
        private get onCommitCallback();
        template(): string;
        load(node: ExplorerModel.Node): void;
        commit(args?: Shared.Features.IFeatureEditorCommitArgs): void;
        protected onActivate(e: any): void;
        private editor_init;
        private menu_init;
        private entityType_load;
        private folder_load;
    }
}
declare namespace PDJS.Manage.EntityType {
    class EntityTypeEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityType {
    interface IEntityTypeExplorerOptions extends Jade.UI.IControlOptions {
        entityTypeId: number;
        explorerModel: ExplorerModel.ExplorerModel;
        onChange: (e: ExplorerModel.Node) => void;
    }
    class EntityTypeExplorer extends Jade.UI.Control {
        private m_menu;
        private m_tree;
        private m_explorerModel;
        constructor(options: IEntityTypeExplorerOptions);
        private get onChangeCallback();
        private get entityTypeId();
        get selectedModelNode(): ExplorerModel.Node;
        get explorerModel(): ExplorerModel.ExplorerModel;
        get tree(): ExplorerModelTree;
        template(): string;
        protected onActivate(e: any): void;
        private tree_init;
        private menu_init;
    }
}
declare namespace PDJS.Manage.EntityType {
    class EntityTypeExplorerContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
        onOpen(e: any): void;
    }
}
declare namespace PDJS.Manage.EntityType {
    class EntityTypeExplorerToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityType {
    interface IEntityTypeOptions {
        entityTypeId: number;
    }
    class EntityTypeModule extends Jade.UI.Control {
        private m_explorer;
        private m_editor;
        private m_actions;
        private m_spliiter;
        private m_explorerModel;
        constructor(options: IEntityTypeOptions);
        get entityTypeId(): number;
        get explorerModel(): ExplorerModel.ExplorerModel;
        get explorerNode(): JQuery;
        get editorNode(): JQuery;
        private get splitterNode();
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private explorer_init;
        private editor_init;
        private actions_init;
        private splitter_init;
        private setCommandState;
        private ensureExplorerModel;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class CanvasEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get linkNode();
        private get value();
        private set value(value);
        private get canvasType();
        private get isFileBased();
        private get isListBased();
        private get documentTypeId();
        private get entityTypeId();
        private get extensionId();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
    }
}
declare namespace PDJS.Manage.EntityType {
    interface IExplorerModelTreeEventArgs {
        modelNode: ExplorerModel.Node;
        node: JQuery;
    }
    interface IExplorerModelTreeAddNodeArgs {
        parent?: ExplorerModel.Node;
        modelNode: ExplorerModel.Node;
    }
    interface IExplorerModelTreeOptions extends Jade.UI.IControlOptions {
        contextMenu?: string;
        explorerModel: ExplorerModel.ExplorerModel;
        onChange?: (e: IExplorerModelTreeEventArgs) => void;
        onDblClick?: (e: IExplorerModelTreeEventArgs) => void;
    }
    class ExplorerModelTree extends Jade.UI.Control {
        private m_tree;
        private m_treeContextMenu;
        private m_treeMoveSuspended;
        constructor(options: IExplorerModelTreeOptions);
        private get explorerModel();
        private get tree();
        private get treeNode();
        private get onChangeCallback();
        get selectedModelNode(): ExplorerModel.Node;
        private get selectedNode();
        select(modelNode: ExplorerModel.Node, expand?: boolean): void;
        template(): string | Array<string> | JQuery;
        addNode(e: IExplorerModelTreeAddNodeArgs): void;
        removeNode(node: ExplorerModel.Node): void;
        applyTemplate(modelNodeId: number): void;
        protected onActivate(e: any): void;
        private contextMenu_init;
        private getSelectedModelNode;
        private tree_init;
        private tree_change;
        private tree_dataBound;
        private tree_drop;
        private tree_template;
        private initializeNodes;
        private getNodeById;
        private isValidAdd;
        private isValidInsert;
    }
}
declare namespace PDJS.Manage.EntityType.ExplorerModel {
    enum CssClass {
        Node = "-pdjs-manage-entity-type-explorer-model-node"
    }
}
declare namespace PDJS.Manage.EntityType.ExplorerModel {
    class ExplorerModel extends PDJS.Core.EntityTypes.ExplorerModel.ExplorerModel<Node, NodeCollection> {
        toKendoJSON(): PDJS.Core.EntityTypes.ExplorerModel.IExplorerModelBase;
        getCheckedNodes(): Array<Node>;
        protected forEachNode(callback: (node: Node) => void, source?: Node): void;
        protected createNodeCollection(nodes: Array<INode>): NodeCollection;
    }
}
declare namespace PDJS.Manage.EntityType.ExplorerModel {
    interface INode extends PDJS.Core.EntityTypes.ExplorerModel.INodeBase {
        entityTypeId: number;
        isHidden: boolean;
        isTab: boolean;
        isActive: boolean;
        formTypeId: string;
    }
    interface INodeOptions extends PDJS.Core.IModelOptions, INode {
    }
    class Node extends PDJS.Core.EntityTypes.ExplorerModel.Node<Node, NodeCollection> {
        constructor(options: INodeOptions);
        get entityTypeId(): number;
        get formTypeId(): string;
        get isHidden(): boolean;
        set isHidden(value: boolean);
        get isTab(): boolean;
        set isTab(value: boolean);
        get isActive(): boolean;
        set isActive(value: boolean);
        get checked(): boolean;
        set checked(value: boolean);
        toJSON(): INode;
        toKendoJSON(): INode;
        toMarkup(): string;
        protected createNodeCollection(nodes: Array<INode>): NodeCollection;
    }
}
declare namespace PDJS.Manage.EntityType.ExplorerModel {
    interface INodeCollectionOptions extends PDJS.Core.EntityTypes.ExplorerModel.INodeCollectionOptions<Node, NodeCollection> {
        nodes: Array<INode>;
    }
    class NodeCollection extends PDJS.Core.EntityTypes.ExplorerModel.NodeCollection<Node, NodeCollection> {
        constructor(options: INodeCollectionOptions);
        toKendoJSON(): any;
        protected createNode(data: INode): Node;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    interface IExpressionAssignmentDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeId: number;
    }
    class ExpressionAssignmentDialog extends Jade.UI.Dialog {
        private m_explorerModel;
        private m_toolbar;
        constructor(options: IExpressionAssignmentDialogOptions);
        private get okButtonNode();
        private get closeButtonNode();
        private get entityTypeId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        onResize(): void;
        static open(options: IExpressionAssignmentDialogOptions): ExpressionAssignmentDialog;
        private toolbar_init;
        private explorerModel_init;
        private okButton_onClick;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    interface IExpressionAssignmentFolder extends PDJS.Services.Tags.IFolderExpression {
        selected: boolean;
        updated: boolean;
        changed: boolean;
    }
    interface IExpressionAssignmentExplorerModelOptions extends Jade.UI.IControlOptions {
        entityTypeId: number;
    }
    class ExpressionAssignmentExplorerModel extends Jade.UI.Control {
        private m_tree;
        constructor(options: IExpressionAssignmentExplorerModelOptions);
        private get entityTypeId();
        private get tree();
        private get treeNode();
        private get checkboxNodes();
        resize(): void;
        template(): string | Array<string> | JQuery;
        getAssignments(): Array<IExpressionAssignmentFolder>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private tree_init;
        private tree_dataSource;
        private tree_checkbox_click;
        private setFolderExpressions;
        private setAllFoldersSelectState;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class ExpressionAssignmentToolbarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class AssignExpressionsCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class DeselectAllFolderCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class ExpressionAssignmentDialogCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class RemoveExpressionsCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        protected onStateChanged(state: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class SelectAllFolderCommand extends Jade.Command {
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    interface IRelationshipsDialogOptions extends Jade.UI.IDialogOptions {
    }
    class RelationshipsDialog extends Jade.UI.Dialog {
        private m_toolbar;
        constructor(options: IRelationshipsDialogOptions);
        private get okButtonNode();
        private get closeButtonNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        static open(options: IRelationshipsDialogOptions): RelationshipsDialog;
        private okButton_onClick;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class PopUpEditor extends FeatureBlendJS.Views.MicroEditorBase {
        protected get clearButtonNode(): JQuery;
        protected get popupButtonNode(): JQuery;
        protected get isClearButtonVisible(): boolean;
        protected get isPopupButtonVisible(): boolean;
        protected get inputNode(): JQuery;
        protected get imageNode(): JQuery;
        protected get imageVisible(): boolean;
        protected get maskNode(): JQuery;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        protected clearButton_onClick(): void;
        protected input_onBlur(): void;
        protected showImage(show: boolean): void;
        protected showPopUpButton(show: boolean): void;
        protected showClearButton(show: boolean): void;
    }
}
declare namespace PDJS.Manage.EntityTypes {
    class AccessControlEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_editor;
        private m_acl;
        private get acl();
        private set acl(value);
        private get aces();
        private set aces(value);
        private get permissions();
        private get securableId();
        private get enabled();
        private get isAdvancedAllowed();
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onViewResized(): void;
        private acl_init;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class RelationshipsCommand extends Jade.Command {
        constructor();
        protected get assignedList(): AssignedList;
        protected get relationshipsMap(): RelationshipsMap;
        protected get typesList(): TypesList;
        protected reloadRelationships(): void;
        protected reloadRelationshipsMap(): void;
        protected updateCommandState(): void;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class AddRelationshipCommand extends RelationshipsCommand {
        execute(value: any): void;
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        private commitAdd;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class RemoveRelationshipCommand extends RelationshipsCommand {
        execute(value: any): void;
        onStateChanged(state: any): void;
        protected getDefaultValuesForProps(): any;
        private commitRemove;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class RelationshipsCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class RelationshipsModule extends Jade.UI.Control {
        private m_typesList;
        private m_assignedList;
        private m_relationshipsMap;
        private m_spliiter1;
        private m_spliiter2;
        constructor(options: any);
        private get viewStateId();
        private set viewStateId(value);
        private get splitter1Node();
        private get splitter2Node();
        private get headerNode();
        private get nameNode();
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private typesList_init;
        private assignedList_init;
        private buttons_init;
        private module_init;
        private relationshipsTree_init;
        private getRelationships;
        private getRelationshipTree;
        private splitter1_init;
        private splitter2_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    interface IAssignedListOptions extends Jade.UI.IControlOptions {
        change: () => void;
    }
    class AssignedList extends Jade.UI.Control {
        private m_list;
        private m_toolbar;
        constructor(options: IAssignedListOptions);
        private get changeCallback();
        get selected(): Core.EntityTypes.IEntityTypeNodeCollection;
        add(types: Core.EntityTypes.IEntityTypeNodeCollection): void;
        clear(): void;
        load(types: Core.EntityTypes.IEntityTypeNodeCollection): void;
        remove(ids: Array<number>): void;
        template(): string;
        protected onActivate(e: any): void;
        private list_init;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    interface IAvailableListOptions extends Jade.UI.IControlOptions {
        change: () => void;
    }
    class AvailableList extends Jade.UI.Control {
        private m_list;
        private m_toolbar;
        constructor(options: IAvailableListOptions);
        private get changeCallback();
        get selected(): Core.EntityTypes.IEntityTypeNodeCollection;
        add(types: Core.EntityTypes.IEntityTypeNodeCollection): void;
        clear(): void;
        load(types: Core.EntityTypes.IEntityTypeNodeCollection): void;
        remove(ids: Array<number>): void;
        template(): string;
        protected onActivate(e: any): void;
        private list_init;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    class RelationshipsMap extends Jade.UI.Control {
        private m_tree;
        private get treeNode();
        load(nodes: Core.EntityTypes.IEntityTypeNodeCollection): void;
        select(entityTypeId: number): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onBrowserResize(): void;
        private tree_init;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    interface ITypesListItem {
        id: number;
        name: string;
    }
    interface ITypesListOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        change: (item: ITypesListItem) => void;
    }
    class TypesList extends Jade.UI.Control {
        private m_grid;
        constructor(options: ITypesListOptions);
        private get changeCallback();
        get selected(): ITypesListItem;
        private get viewStateId();
        template(): string;
        protected onActivate(e: any): void;
        private list_init;
    }
}
declare namespace PDJS.Manage.EntityTypes.Relationships {
    interface IAvailableTypesDialogResult extends Core.EntityTypes.IEntityTypeNodeCollection {
    }
    interface IAvailableTypesDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeId: number;
        entityTypeName: string;
    }
    class AvailableTypesDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: IAvailableTypesDialogOptions, windowOptions?: any);
        protected get entityTypeId(): number;
        protected get entityTypeName(): string;
        protected get okButtonNode(): JQuery;
        protected get cancelButtonNode(): JQuery;
        template(): string;
        protected onActivate(e: any): void;
        private closeAndReturn;
        private grid_init;
        static open(options: IAvailableTypesDialogOptions): AvailableTypesDialog;
    }
}
declare namespace PDJS.Manage.ExtensionColumns {
    class FormUsageEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        protected get containerNode(): JQuery;
        protected get grid(): PD.Web.UI.Controls.Grid;
        template(): string | Array<string> | JQuery;
        destroy(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
    }
}
declare namespace PDJS.Manage.ExtensionColumns {
    class SearchGroupUsageEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        protected get containerNode(): JQuery;
        protected get grid(): PD.Web.UI.Controls.Grid;
        template(): string | Array<string> | JQuery;
        destroy(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
    }
}
declare namespace PDJS.Manage.ExtensionColumns {
    class SelectionListEditor extends PDJS.Shared.Features.Editors.PopUpEditor {
        private get listId();
        private set listId(value);
        private get listName();
        private set listName(value);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
    }
}
declare namespace PDJS.Manage.Users {
    interface IMemberships {
        add: Array<any>;
        remove: Array<any>;
    }
    export class GroupMembershipEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        private m_toolbar;
        get groupId(): string;
        get viewStateId(): string;
        get memberships(): IMemberships;
        set memberships(value: IMemberships);
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private commit;
    }
    export {};
}
declare namespace PDJS.Manage.Jobs {
    class JobsActions extends PDJS.Shared.UI.Controls.PanelMenu {
        get jobId(): string;
        set jobId(value: string);
        get jobName(): number;
        load(jobId: string): void;
        template(): string;
        protected onActivate(e: any): void;
        private addItems;
        private addGlobalItems;
        private addJobItems;
        private addJobHistory;
        private addJobSchedule;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsCommand extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get grid(): JobsGrid;
        protected get selections(): Array<IJobsGridItem>;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    class CreateJobCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    class DeleteJobCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private executeDelete;
    }
}
declare namespace PDJS.Manage.Jobs {
    class UpdateJobCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    class ExecuteJobCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    class EditScriptCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    interface IViewEventCommandExecuteArgs {
        eventId: string;
    }
    class ViewEventCommand extends JobsCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: IViewEventCommandExecuteArgs): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    interface IJobsGridItem {
        id: string;
        name: string;
        scriptId: string;
        scriptName: string;
    }
    interface IJobsGridOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        change(item: IJobsGridItem): void;
    }
    class JobsGrid extends Jade.UI.Control {
        private m_grid;
        private m_menu;
        constructor(options: IJobsGridOptions);
        private get changeCallback();
        get selections(): Array<IJobsGridItem>;
        private get viewStateId();
        refresh(e?: PD.Web.UI.Controls.IGridRefreshOptions): void;
        template(): string;
        protected onActivate(e: any): void;
        private menu_init;
        private grid_init;
        private contextMenu_init;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsModule extends Jade.UI.Control {
        private m_grid;
        private m_actions;
        private m_spliiter;
        constructor(options: any);
        private get viewStateId();
        private set viewStateId(value);
        private get splitterNode();
        focus(): void;
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private actions_init;
        private module_init;
        private splitter_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsLogCommand extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get grid(): JobsLogGrid;
        protected get selections(): Array<IJobsGridItem>;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    class ViewEventLogCommand extends JobsLogCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Jobs {
    class ClearLogCommand extends JobsLogCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private executeDelete;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsLogCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    interface IJobsLogGridItem {
        id: string;
        name: string;
        scriptId: string;
        scriptName: string;
    }
    interface IJobsLogGridOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        change(item: IJobsGridItem): void;
    }
    class JobsLogGrid extends Jade.UI.Control {
        private m_grid;
        private m_menu;
        constructor(options: IJobsLogGridOptions);
        private get changeCallback();
        get selections(): Array<IJobsLogGridItem>;
        private get viewStateId();
        refresh(e?: PD.Web.UI.Controls.IGridRefreshOptions): void;
        template(): string;
        protected onActivate(e: any): void;
        private menu_init;
        private grid_init;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsLogModule extends Jade.UI.Control {
        private m_grid;
        constructor(options: any);
        private get viewStateId();
        private set viewStateId(value);
        focus(): void;
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private module_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.Jobs {
    class JobsLogToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Manage.Jobs {
    interface IClearLogDialogResult {
        scope: number;
    }
    interface IClearLogDialogOptions extends Jade.UI.IDialogOptions {
    }
    class ClearLogDialog extends Jade.UI.Dialog {
        constructor(options: IClearLogDialogOptions, windowOptions?: any);
        protected get selectNode(): JQuery;
        protected get okButtonNode(): JQuery;
        protected get cancelButtonNode(): JQuery;
        template(): string;
        protected onActivate(e: any): void;
        private closeAndReturn;
        static open(options: IClearLogDialogOptions): ClearLogDialog;
    }
}
declare namespace PDJS.Shared.Features.Interop {
    interface IAdaptedError {
        key: string;
        code: number;
        message: string;
        tags: {
            [key: string]: any;
        };
    }
    interface IAdaptedValidationError {
        toJSON: () => IAdaptedError;
        get_groupId: () => string;
        get_featureType: () => string;
        get_feature: () => IAdaptedFeature;
        get_propertyName: () => string;
        get_message: () => string;
    }
    interface IAdaptedFeature {
        getAttribute: (id: string) => any;
        getData: (id: string) => any;
        getDataKeys: () => Array<string>;
    }
    interface IAdaptedMacroEditor {
        get_domNode: () => JQuery;
        getPrimaryValue: () => any;
        setPrimaryValue: (value: any) => void;
        getPrimaryValueID: () => string;
        get_definition: IAdaptedFeatureDefinition;
        get_feature: IAdaptedFeature;
        commit: Function;
        size: Function;
        onValidationErrors: (errors: Array<IAdaptedValidationError>) => void;
        destroy: Function;
        focus: Function;
        setValue: (key: string, value: any) => void;
        getValue: (key: string) => any;
    }
    interface IAdaptedFeatureDefinition {
    }
    interface IMacroEditorOptions extends Jade.UI.IControlOptions {
        node: JQuery;
        adaptedEditor: IAdaptedMacroEditor;
    }
    interface IValidationError {
        key: string;
        code: number;
        message: string;
        target: string;
        tags: IValidationErrorTags;
    }
    interface IValidationErrorTags {
        [key: string]: any;
    }
    class MacroEditor extends Jade.UI.Control {
        private m_adpatedEditor;
        constructor(options: IMacroEditorOptions);
        get adaptedEditor(): IAdaptedMacroEditor;
        template(): string | Array<string> | JQuery;
        protected onEditorReady(): void;
        protected onCommit(): void;
        protected onDestroy(): void;
        protected onFocus(): void;
        protected onResize(): void;
        protected onValidationErrors(errors: Array<IValidationError>): void;
        protected setValue(key: string, value: any): void;
        protected getValue(key: string): any;
    }
}
declare namespace PDJS.Manage.Licensing {
    class LicenseContentFeature extends PDJS.Shared.Features.Interop.MacroEditor {
        private m_editor;
        constructor(options: PDJS.Shared.Features.Interop.IMacroEditorOptions);
        private get editor();
        private get editorNode();
        template(): string | Array<string> | JQuery;
        protected onEditorReady(): void;
        private editor_init;
    }
}
declare namespace PDJS.Manage.Licensing {
    class LicensePropertiesFeature extends PDJS.Shared.Features.Interop.MacroEditor {
        private m_grid;
        constructor(options: PDJS.Shared.Features.Interop.IMacroEditorOptions);
        private get properties();
        template(): string | Array<string> | JQuery;
        protected onEditorReady(): void;
        private grid_init;
    }
}
declare namespace PDJS.Manage.Process {
    enum CssClass {
        ProcessModule = "-pdjs-manage-module-process",
        ProcessesModule = "-pdjs-manage-module-processes",
        ProcessExplorer = "-pdjs-manage-module-process-explorer",
        ProcessActions = "-pdjs-manage-module-process-actions",
        ProcessEditor = "-pdjs-manage-module-process-editor",
        ProcessNode = "-pdjs-manage-process-node",
        ProcessTree = "-pdjs-manage-process-tree",
        ProcessesModuleGrid = "-pdjs-manage-module-processes-grid"
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessActionsOptions extends Jade.UI.IControlOptions {
        processId: number;
    }
    class ProcessActions extends PDJS.Shared.UI.Controls.PanelMenu {
        constructor(options: IProcessActionsOptions);
        private get processId();
        template(): string;
        protected onActivate(e: any): void;
        private addItems;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessCommandBase extends Jade.Command {
        private m_contextMenuNode;
        constructor(options: Jade.ICommandProps);
        protected get nodes(): Core.Process.ProcessNodeTree;
        protected get explorer(): ProcessExplorer;
        protected get editor(): ProcessEditor;
        protected get selectedNode(): Core.Process.ProcessNode;
        private get contextMenuNode();
        private get contextMenuNodeId();
        protected commit(): void;
        protected setCommandState(): void;
        private ensureContextMenuNode;
    }
}
declare namespace PDJS.Manage.Process {
    class AddNodeCommand extends ProcessCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private updateIconAndText;
        private addKey;
        private addStage;
        private addDecision;
        private addNode;
        private addNodeSuccess;
    }
}
declare namespace PDJS.Manage.Process {
    class DeleteNodeCommand extends ProcessCommandBase {
        constructor();
        onStateChanged(state: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private deleteNode;
        private deleteNodeSuccess;
    }
}
declare namespace PDJS.Manage.Process {
    class SaveNodeCommand extends ProcessCommandBase {
        constructor();
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private updateNode;
    }
}
declare namespace PDJS.Manage.Process {
    enum DropType {
        over = "over",
        before = "before",
        after = "after"
    }
    export interface IMoveNodeCommandArgs {
        srcNodeId: number;
        dstNodeId: number;
        dropType: DropType;
    }
    export class MoveNodeCommand extends ProcessCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: IMoveNodeCommandArgs): void;
        protected getDefaultValuesForProps(): any;
        private moveNode;
        private moveNodeSuccess;
        private getDropTypeInteger;
    }
    export {};
}
declare namespace PDJS.Manage.Process {
    class ProcessCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
    class ProcessContextMenuCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessEditorOptions extends Jade.UI.IControlOptions {
        onCommit: () => void;
    }
    class ProcessEditor extends Jade.UI.Control {
        private m_editor;
        private m_menu;
        private m_processNode;
        constructor(options: any);
        private get processNode();
        private set processNode(value);
        private get onCommitCallback();
        template(): string;
        load(node: Core.Process.ProcessNode): void;
        commit(args?: Shared.Features.IFeatureEditorCommitArgs): void;
        protected onActivate(e: any): void;
        private editor_init;
        private menu_init;
        private process_load;
        private key_load;
        private stage_load;
        private decision_load;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessEditorToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessExplorerOptions extends Jade.UI.IControlOptions {
        processId: number;
        onChange: (e: IProcessTreeEventArgs) => void;
    }
    class ProcessExplorer extends Jade.UI.Control {
        private m_tree;
        private m_menu;
        private m_processNodeTree;
        constructor(options: IProcessExplorerOptions);
        private get onChangeCallback();
        private get processId();
        get selectedProcessNode(): Core.Process.ProcessNode;
        get processNodeTree(): Core.Process.ProcessNodeTree;
        set processNodeTree(value: Core.Process.ProcessNodeTree);
        get tree(): ProcessTree;
        template(): string;
        protected onActivate(e: any): void;
        private data_init;
        private tree_init;
        private menu_init;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessExplorerContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
        onOpen(e: any): void;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessExplorerToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessModuleOptions {
        processId: number;
    }
    class ProcessModule extends Jade.UI.Control {
        private m_explorer;
        private m_editor;
        private m_actions;
        private m_spliiter;
        constructor(options: IProcessModuleOptions);
        private get processId();
        private get splitterNode();
        resize(): void;
        template(): string;
        protected onInit(e: any): void;
        protected onActivate(e: any): void;
        protected onDestroy(e: any): void;
        private actions_init;
        private explorer_init;
        private editor_init;
        private splitter_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessStatusCommand extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get grid(): ProcessStatusGrid;
        protected get processId(): number;
        protected commit(): void;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Manage.Process {
    class AddStatusCommand extends ProcessStatusCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Process {
    class DeleteStatusCommand extends ProcessStatusCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private deleteStatus;
        private confirmDeletion;
    }
}
declare namespace PDJS.Manage.Process {
    class EditStatusCommand extends ProcessStatusCommand {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessStatusCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessStatusDialogOptions {
        processId: number;
    }
    class ProcessStatusDialog extends Jade.UI.Dialog {
        private m_grid;
        private m_toolbar;
        constructor(options: IProcessStatusDialogOptions);
        private get okButtonNode();
        private get closeButtonNode();
        private get processId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        template(): string | Array<string> | JQuery;
        static open(options: IProcessStatusDialogOptions): ProcessStatusDialog;
        protected getWindowOptions(): any;
        private grid_init;
        private toolbar_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.Process {
    type IProcessStatusGridChangeCallback = (selections: Core.Process.ProcessStatusCollection) => void;
    interface IProcessStatusGridOptions extends Jade.UI.IControlOptions {
        processId: number;
        change: (selections: Core.Process.ProcessStatusCollection) => void;
        dblClick: (selections: Core.Process.ProcessStatusCollection) => void;
    }
    class ProcessStatusGrid extends Jade.UI.Control {
        private m_grid;
        private m_items;
        constructor(options: IProcessStatusGridOptions);
        get processId(): number;
        get dataSource(): PD.Web.UI.Controls.GridDataSource;
        get grid(): PD.Web.UI.Controls.Grid;
        private get gridNode();
        get items(): Core.Process.ProcessStatusCollection;
        set items(value: Core.Process.ProcessStatusCollection);
        get selections(): Core.Process.ProcessStatusCollection;
        private get changeCallback();
        private get dblClickCallback();
        refresh(options?: PD.Web.UI.Controls.IGridRefreshOptions): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        private data_init;
        private grid_init;
        private getSelections;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessStatusToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IDecisionStageComboBoxItem {
        id: number;
        name: string;
        icon: string;
    }
    interface IDecisionStageComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
    }
    class DecisionStageComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IDecisionStatusComboBoxItem> {
        constructor(options: IDecisionStatusComboBoxOptions);
        get selection(): IDecisionStageComboBoxItem;
        set selection(value: IDecisionStageComboBoxItem);
        setSelection(item: IDecisionStageComboBoxItem): void;
        protected onActivate(e: any): void;
        protected onSelectionChange(selection: IDecisionStageComboBoxItem): void;
        protected createListItem(data: IDecisionStageComboBoxItem): PDJS.Shared.UI.Controls.ComboBoxListItem;
    }
}
declare namespace PDJS.Manage.Process {
    interface IListItem {
        name: string;
        value: any;
        icon: string;
    }
    export class DecisionStageEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_list;
        get processId(): number;
        get moveToList(): Array<IListItem>;
        get moveToIcon(): string;
        get moveToName(): string;
        get moveToId(): number;
        set moveToId(value: number);
        get selectNode(): JQuery;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private list_init;
    }
    export {};
}
declare namespace PDJS.Manage.Process {
    interface IDecisionStatusComboBoxItem {
        id: number;
        name: string;
        icon: string;
    }
    interface IDecisionStatusComboBoxOptions extends PDJS.Shared.UI.Controls.IComboBoxOptions {
        processId: number;
    }
    class DecisionStatusComboBox extends PDJS.Shared.UI.Controls.ComboBoxOf<IDecisionStatusComboBoxItem> {
        constructor(options: IDecisionStatusComboBoxOptions);
        get selection(): IDecisionStatusComboBoxItem;
        set selection(value: IDecisionStatusComboBoxItem);
        private get processId();
        setSelection(item: IDecisionStatusComboBoxItem): void;
        protected onSelectionChange(selection: IDecisionStatusComboBoxItem): void;
        protected createListItem(data: IDecisionStatusComboBoxItem): PDJS.Shared.UI.Controls.ComboBoxListItem;
        protected onFilter(e: PDJS.Shared.UI.Controls.ComboBoxDataSourceFilterEvent): void;
        protected onShowDialog(): void;
    }
}
declare namespace PDJS.Manage.Process {
    class DecisionStatusEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_list;
        get processId(): number;
        get statusIcon(): string;
        get statusId(): number;
        set statusId(value: number);
        get statusName(): string;
        get selectNode(): JQuery;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private list_init;
    }
}
declare namespace PDJS.Manage.Process {
    interface IDecisionStatusEditorDialogOptions extends Jade.UI.IDialogOptions {
        processId: number;
    }
    class DecisionStatusEditorDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: IDecisionStatusEditorDialogOptions);
        private get okButtonNode();
        private get cancelButtonNode();
        private get processId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        static open(options: IDecisionStatusEditorDialogOptions): DecisionStatusEditorDialog;
        protected getWindowOptions(): any;
        private grid_init;
        private okAndClose;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ExpressionEditorExtender extends FeatureBlendJS.Views.MicroEditorBase {
        private m_expression;
        private m_input;
        private get expressionId();
        private set expressionId(value);
        private get expressionName();
        private set expressionName(value);
        private get idProperty();
        private get nameProperty();
        private get checkboxNode();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected createInput(): Jade.UI.Control;
        private expression_init;
        private input_init;
        private checkbox_check;
        private toggleExpressionEditor;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IExpressionOrListEditorItem {
        value: any;
        name: string;
    }
    class ExpressionOrListEditor extends ExpressionEditorExtender {
        private get listId();
        private get list();
        private get listItemIdProperty();
        private get listItemId();
        private set listItemId(value);
        protected onActivate(e: any): void;
        protected createInput(): Jade.UI.Control;
    }
}
declare namespace PDJS.Manage.Process {
    class DecisionVisibilityEditor extends Shared.Features.Editors.ExpressionOrListEditor {
        protected onActivate(e: any): void;
        protected createInput(): Jade.UI.Control;
    }
}
declare namespace PDJS.Manage.Process {
    interface IDecisionVisibilityInputOptions extends Jade.UI.IControlOptions {
        value: boolean;
        change: (value: boolean) => void;
    }
    class DecisionVisibilityInput extends Jade.UI.Control {
        constructor(options: IDecisionVisibilityInputOptions);
        private get selectNode();
        private get value();
        private get changeCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
    }
}
declare namespace PDJS.Manage.Process {
    class HiddenFoldersEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_explorerModel;
        private m_tree;
        private get explorerModel();
        private set explorerModel(value);
        private get hiddenNodeIds();
        private set hiddenNodeIds(value);
        template(): string;
        protected onActivate(e: any): void;
        protected onCommit(): void;
        private tree_init;
    }
}
declare namespace PDJS.Manage.Process {
    interface IHiddenFoldersTreeOptions extends Jade.UI.IControlOptions {
        explorerModel: ExplorerModel;
    }
    class HiddenFoldersTree extends Jade.UI.Control {
        private m_tree;
        constructor(options: IHiddenFoldersTreeOptions);
        private get explorerModel();
        private get tree();
        private set tree(value);
        private get treeNode();
        template(): string;
        protected onActivate(e: any): void;
        applyTemplate(folderId: number): void;
        private data_init;
        private tree_init;
        private tree_template;
        private tree_select;
        private tree_check;
    }
}
declare namespace PDJS.Manage.Process {
    class ExplorerModel extends PDJS.Core.EntityTypes.ExplorerModel.ExplorerModel<Node, NodeCollection> {
        constructor(options?: any);
        toKendoJSON(): PDJS.Core.EntityTypes.ExplorerModel.IExplorerModelBase;
        getCheckedNodes(): Array<Node>;
        protected createNodeCollection(nodes: Array<INode>): NodeCollection;
    }
}
declare namespace PDJS.Manage.Process {
    interface INode extends PDJS.Core.EntityTypes.ExplorerModel.INodeBase {
        checked: boolean;
    }
    interface INodeOptions extends PDJS.Core.IModelOptions, INode {
    }
    class Node extends PDJS.Core.EntityTypes.ExplorerModel.Node<Node, NodeCollection> {
        constructor(options: INodeOptions);
        get checked(): boolean;
        set checked(value: boolean);
        toJSON(): INode;
        toKendoJSON(): INode;
        toMarkup(): string;
        protected createNodeCollection(nodes: Array<INode>): any;
        private getIcon;
    }
}
declare namespace PDJS.Manage.Process {
    interface INodeCollectionOptions extends PDJS.Core.EntityTypes.ExplorerModel.INodeCollectionOptions<Node, NodeCollection> {
        nodes: Array<INode>;
    }
    class NodeCollection extends PDJS.Core.EntityTypes.ExplorerModel.NodeCollection<Node, NodeCollection> {
        constructor(options: INodeCollectionOptions);
        toKendoJSON(): any;
        protected createNode(data: INode): Node;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessTreeEventArgs {
        processNode: PDJS.Core.Process.ProcessNode;
        node: JQuery;
    }
    interface IProcessTreeAddNodeArgs {
        parent?: PDJS.Core.Process.ProcessNode;
        node: Core.Process.IProcessNode;
    }
    interface IProcessTreeOptions extends Jade.UI.IControlOptions {
        processId: number;
        onChange?: (e: IProcessTreeEventArgs) => void;
        onDblClick?: (e: IProcessTreeEventArgs) => void;
        contextMenu?: string;
    }
    class ProcessTree extends Jade.UI.Control {
        private m_tree;
        private m_treeContextMenu;
        private m_processNodeTree;
        private m_treeMoveSuspended;
        constructor(options: IProcessTreeOptions);
        private get processId();
        private get tree();
        private get treeNode();
        private get onChangeCallback();
        private get processNodeTree();
        private set processNodeTree(value);
        get selectedProcessNode(): Core.Process.ProcessNode;
        private get selectedNode();
        load(tree: Core.Process.ProcessNodeTree): void;
        select(processNode: Core.Process.ProcessNode, expand?: boolean): void;
        template(): string | Array<string> | JQuery;
        addNode(e: IProcessTreeAddNodeArgs): void;
        removeNode(node: Core.Process.ProcessNode): void;
        applyTemplate(processNodeId: string): void;
        protected onActivate(e: any): void;
        private contextMenu_init;
        private getSelectedProcessNode;
        private tree_init;
        private tree_change;
        private tree_dataBound;
        private tree_drag;
        private tree_drop;
        private tree_template;
        private initializeNodes;
        private getNodeById;
        private isValidAdd;
        private isValidInsert;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessesCommandBase extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get grid(): ProcessesGrid;
        protected get selection(): IProcessesGridSelection;
        protected get selections(): Array<IProcessesGridSelection>;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Manage.Process {
    class CreateProcessCommand extends ProcessesCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Process {
    class EditProcessCommand extends ProcessesCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Process {
    class DeleteProcessCommand extends ProcessesCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private executeDelete;
    }
}
declare namespace PDJS.Manage.Process {
    class OpenProcessCommand extends ProcessesCommandBase {
        constructor();
        onStateChanged(e: any): void;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessesCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessesContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessesGridSelection {
        id: number;
        name: string;
    }
    interface IProcessesGridOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        dblClick?: Function;
        change?: Function;
    }
    class ProcessesGrid extends Jade.UI.Control {
        private m_grid;
        constructor(options: IProcessesGridOptions);
        get grid(): PD.Web.UI.Controls.ViewGrid;
        private get gridNode();
        private get changeCallback();
        private get dblClickCallback();
        private get viewStateId();
        get selections(): Array<any>;
        resize(): void;
        refresh(args?: PD.Web.UI.Controls.IGridRefreshOptions): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        private grid_init;
        private contextMenu_init;
    }
}
declare namespace PDJS.Manage.Process {
    interface IProcessModuleOptions {
        processId: number;
    }
    class ProcessesModule extends Jade.UI.Control {
        private m_grid;
        private m_toolbar;
        constructor(options: IProcessModuleOptions);
        private get viewStateId();
        private set viewStateId(value);
        resize(): void;
        template(): string;
        protected onInit(e: any): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onDestroy(e: any): void;
        private grid_init;
        private toolbar_init;
        private setCommandState;
    }
}
declare namespace PDJS.Manage.Process {
    class ProcessesToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.RecycleBin {
    interface IRecycleBinConfirmationDialogOptions extends Jade.UI.IMultipleChoiceDialogOptions {
        select: (e: any) => void;
    }
    class RecycleBinConfirmationDialog extends Jade.UI.MultipleChoiceDialog {
        static open(options: IRecycleBinConfirmationDialogOptions): RecycleBinConfirmationDialog;
    }
}
declare namespace PDJS.Manage.Reports {
    interface IReportSelectionDialogSelection {
        id: string;
        name: string;
    }
    interface IReportSelectionDialogOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class ReportSelectionDialog extends Jade.UI.Dialog {
        private m_selection;
        private m_grid;
        constructor(options: IReportSelectionDialogOptions);
        private get viewStateId();
        private get grid();
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        static open(options: IReportSelectionDialogOptions): ReportSelectionDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    type EditableExtension = ".css" | ".html" | ".js" | ".json" | ".txt" | ".xml";
    class IEditableType {
        mime: string;
        name: string;
        type: EditableExtension;
        icon: string;
        file: string;
    }
    class EditableTypes {
        private static m_list;
        static get extensions(): Array<EditableExtension>;
        static get list(): Array<IEditableType>;
        static getType(extension: string): IEditableType;
        static isEditableType(extension: string): boolean;
        private static ensureTypes;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourcesCommand extends Jade.Command {
        constructor();
        protected get browser(): Browser;
        protected get explorer(): Explorer;
        protected get location(): Location;
        protected get currentFolder(): PDJS.Core.Resources.IResource;
        protected get selections(): Array<PDJS.Core.Resources.IResource>;
        protected get isDialog(): boolean;
        private get contextFolder();
        protected updateCommandState(): void;
        protected folderContentChanged(folderId?: string): void;
        private getCurrentFolder;
        private getSelections;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourceDownloadCommand extends ResourcesCommand {
        private get isMultiSelect();
        private get selectionContainsFolder();
        private get isPackageDownload();
        private get selection();
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        execute(e: any): void;
        private downloadPackage;
    }
}
declare namespace PDJS.Manage.Resources {
    class FileNewCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources {
    class FileUploadCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        execute(e: any): void;
        private init_uploader;
    }
}
declare namespace PDJS.Manage.Resources {
    class FolderNewCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
        private updateUI;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourceDeleteCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        execute(e: any): void;
        private executeDeletionTask;
        private fallback;
        private isEnabled;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IResourceMoveCommandExecuteArgs {
        destination: PDJS.Core.Resources.IResource;
    }
    class ResourceMoveCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: IResourceMoveCommandExecuteArgs): void;
        private showTaskDialog;
        private isValidMove;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourceOpenCommand extends ResourcesCommand {
        private get selection();
        protected getDefaultValuesForProps(): any;
        onStateChanged(state: any): void;
        execute(e: any): void;
        private openFile;
        private openFolder;
        private canOpenFileForEdit;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourcePropertiesCommand extends ResourcesCommand {
        private get selection();
        protected getDefaultValuesForProps(): any;
        onStateChanged(e: any): void;
        execute(e: any): void;
        private editFolder;
        private editFile;
    }
}
declare namespace PDJS.Manage.Resources {
    class ZipUploadCommand extends ResourcesCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
        private executeServiceCall;
        private showTaskDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourcesCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
    class ResourcesContextMenuCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IResourcesModuleOptions {
        success: () => void;
        error: () => void;
    }
    class ResourcesModule extends Jade.UI.Control {
        private m_browser;
        private m_explorer;
        private m_location;
        private m_recorder;
        private m_splitter;
        private m_toolbar;
        private m_subscriptionList;
        constructor(options: IResourcesModuleOptions);
        private get browser();
        private set browser(value);
        private get errorCallback();
        private get explorer();
        private set explorer(value);
        private get location();
        private set location(value);
        private get nodes();
        private set nodes(value);
        private get recorder();
        private set recorder(value);
        private get splitter();
        private set splitter(value);
        private get splitterNode();
        private get successCallback();
        private get toolbar();
        private set toolbar(value);
        private get viewStateId();
        private set viewStateId(value);
        focus(): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onDestroy(e: any): void;
        private module_init;
        private browser_init;
        private explorer_init;
        private location_init;
        private splitter_init;
        private recorder_init;
        private toolbar_init;
        private draggable_init;
        private updateCommandState;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourcesToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources {
    enum CssClass {
        Location = "-pdjs-manage-resources-location",
        LocationRootItem = "-location-root-item",
        LocationPathItem = "-location-path-item",
        LocationButton = "-location-btn",
        LocationButtonBack = "-location-btn-back",
        LocationButtonNext = "-location-btn-next",
        LocationBox = "-location-box",
        LocationRoot = "-location-box-root",
        LocationPath = "-location-box-path"
    }
}
declare namespace PDJS.Manage.Resources {
    interface IDragAndDropOnGridOptions {
        browser: Browser;
        explorer: Explorer;
    }
    class DragAndDrop {
        private m_grid_selector;
        private m_tree_selector;
        private m_browser;
        private m_explorer;
        private m_dropTarget;
        constructor(options: IDragAndDropOnGridOptions);
        private get browser();
        private get explorer();
        private get grid();
        private get dropTarget();
        private set dropTarget(value);
        private draggable_init;
        private draggable_create;
        private draggable_drag;
        private draggable_start;
        private draggable_stop;
        private grid_droppable_init;
        private grid_droppable_drop;
        private grid_droppable_over;
        private grid_droppable_out;
        private tree_droppable_init;
        private tree_droppable_drop;
        private tree_droppable_over;
        private tree_droppable_out;
        destroy(): void;
        private destroyDraggable;
        private destroyGridDroppable;
        private destroyTreeDroppable;
        private getDragHelper;
        private setDragHelperTargetHTML;
        private setDragHelperActionHTML;
        private setDragHelperActionVisible;
    }
}
declare namespace PDJS.Manage.Resources {
    enum Events {
        FolderContentChanged = "folder/content/changed",
        LocationChange = "location/change",
        LocationChanged = "location/changed",
        ResourceHighlight = "resource/highlight",
        ResourceSelect = "resource/select",
        BrowserRefresh = "browser/refresh",
        ExplorerChanged = "explorer/changed",
        ExplorerRefresh = "explorer/refresh"
    }
    type ExplorerChangedAction = "add" | "delete" | "move" | "expand";
    interface IExplorerChangedEventArgs {
        dstIds?: Array<ISelectedResource>;
        srcIds?: Array<ISelectedResource>;
        action: ExplorerChangedAction;
    }
    interface IResourceSelectEventArgs {
        items: Array<ISelectedResource>;
    }
    interface IResourceHighlightEventArgs {
        items: Array<ISelectedResource>;
    }
    interface ILocationChangeEventArgs {
        folderId: string;
        record?: boolean;
        source?: string;
    }
    interface ILocationChangedEventArgs {
        folderId: string;
        folderPath: Array<PDJS.Core.Resources.IResource>;
        record?: boolean;
        source?: string;
    }
    interface IFolderContentChangedEventArgs {
        folderId: string;
    }
}
declare namespace PDJS.Manage.Resources {
    class EventsHub extends PDJS.Shared.EventsHubBase {
        static browserRefreshPublish(): void;
        static explorerChangedPublish(args: IExplorerChangedEventArgs): void;
        static resourceHighlightPublish(args: IResourceHighlightEventArgs): void;
        static resourceSelectPublish(args: IResourceSelectEventArgs): void;
        static locationChangePublish(args: ILocationChangeEventArgs): void;
        static locationChangedPublish(args: ILocationChangedEventArgs): void;
        static folderContentChangedPublish(args: IFolderContentChangedEventArgs): void;
        static explorerRefreshPublish(): void;
        static browserRefreshSubscribe(handler: () => void): Jade.EventBusSubscription;
        static explorerChangedSubscribe(handler: (e: IExplorerChangedEventArgs) => void): Jade.EventBusSubscription;
        static resourceHighlightSubscribe(handler: (e: IResourceHighlightEventArgs) => void): Jade.EventBusSubscription;
        static resourceSelectSubscribe(handler: (e: IResourceSelectEventArgs) => void): Jade.EventBusSubscription;
        static locationChangeSubscribe(handler: (e: ILocationChangeEventArgs) => void): Jade.EventBusSubscription;
        static locationChangedSubscribe(handler: (e: ILocationChangedEventArgs) => void): Jade.EventBusSubscription;
        static folderContentChangedSubscribe(handler: (e: IFolderContentChangedEventArgs) => void): Jade.EventBusSubscription;
        static explorerRefreshSubscribe(handler: () => void): Jade.EventBusSubscription;
    }
}
declare namespace PDJS.Shared {
    interface IEventsHubRecorderOptions extends Core.IModelOptions {
    }
    interface IEventsHubRecorderEntry {
        eventName: string;
        data?: any;
    }
    class EventsHubRecorder extends Core.Model {
        private m_history;
        private m_shouldRefresh;
        constructor(options?: {});
        protected get history(): Jade.Collection<IEventsHubRecorderEntry>;
        protected get contextId(): string;
        protected set contextId(value: string);
        protected get globalContext(): Jade.Context;
        protected get currentContext(): Jade.Context;
        protected get shouldRefresh(): boolean;
        refresh(): void;
        protected onInitialize(): void;
        protected onRefresh(): void;
        protected record(args: IEventsHubRecorderEntry): void;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IEventsHubRecorderOptions {
        browser: Browser;
        explorer: Explorer;
    }
    class EventsHubRecorder extends PDJS.Shared.EventsHubRecorder {
        private m_browser;
        private m_explorer;
        constructor(options: IEventsHubRecorderOptions);
        protected get browser(): Browser;
        protected get explorer(): Explorer;
        protected onInitialize(): void;
        protected onRefresh(): void;
    }
}
declare namespace PDJS.Manage.Resources {
    export interface IBrowserOptions extends Jade.UI.IControlOptions {
        extensions?: Array<string>;
        viewStateId: string;
        change?: () => void;
        selectionMode?: PD.Web.UI.Controls.GridSelectionMode;
    }
    export interface ISelectedResource {
        id: string;
        name: string;
        role: ResourceType;
        mimeType: string;
    }
    type ResourceType = "file" | "folder";
    export class Browser extends Jade.UI.Control {
        private m_grid;
        constructor(options: IBrowserOptions);
        private get extensions();
        get grid(): PD.Web.UI.Controls.ViewGrid;
        private set grid(value);
        private get gridNode();
        private get selectedFolderId();
        private set selectedFolderId(value);
        get selections(): Array<PDJS.Core.Resources.IResource>;
        get selectionMode(): PD.Web.UI.Controls.GridSelectionMode;
        set selectionMode(value: PD.Web.UI.Controls.GridSelectionMode);
        private get viewStateId();
        refresh(args?: PD.Web.UI.Controls.IGridRefreshOptions): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onDestroy(e: any): void;
        private grid_init;
        private grid_change;
        private grid_dblclick;
        private grid_addFilterByParent;
        private grid_addFilterByExtension;
        private contextMenu_init;
    }
    export {};
}
declare namespace PDJS.Manage.Resources {
    class BrowserContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IExplorerOptions extends Jade.UI.IControlOptions {
        nodes: Array<PDJS.Core.Resources.IResourceTreeNode>;
        change?: () => void;
        dblclick?: () => void;
    }
    interface IExplorerRefreshArgs {
        folderId?: string;
        expand?: boolean;
        expanded?: Array<string>;
        success?: Function;
    }
    interface INodeInfo {
        node: JQuery;
        data: any;
        hasNode: boolean;
        nodeLoaded: boolean;
    }
    class Explorer extends Jade.UI.Control {
        private m_tree;
        private m_dataSource;
        constructor(options: IExplorerOptions);
        get loaded(): boolean;
        get selectedNode(): JQuery;
        private get dataSource();
        private get nodes();
        private get tree();
        private set tree(value);
        private get treeNode();
        template(): string;
        getSelectedFolder(): PDJS.Core.Resources.IResource;
        getSelectedFolderId(): string;
        getDataItem(id: string): any;
        getDataItem(item: JQuery): any;
        deleteNode(folderId: string): void;
        move(dstId: string, srcIds: Array<string>): void;
        refresh(args?: IExplorerRefreshArgs): void;
        select(id: string): void;
        protected onInit(e: any): void;
        protected onActivate(e: any): void;
        private tree_init;
        private tree_select;
        private tree_expand;
        private contextMenu_init;
        private expandNode;
        private findAndSelectNode;
        private get16x16Icon;
        private getExpandedNodes;
        private getNodeInfo;
        private loadNodes;
        private rebuildNode;
    }
}
declare namespace PDJS.Manage.Resources {
    class ExplorerContextMenu extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IInputOptions extends Jade.UI.IControlOptions {
        changed?: () => void;
        enter?: () => void;
    }
    class Input extends Jade.UI.Control {
        private m_input;
        constructor(options: IInputOptions);
        private get input();
        private set input(value);
        get label(): string;
        set label(value: string);
        get extension(): string;
        set extension(value: string);
        private get labelNode();
        get readonly(): boolean;
        set readonly(value: boolean);
        get value(): string;
        set value(value: string);
        get changedCallback(): Function;
        get enterCallback(): Function;
        focus(): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onStateChanged(): void;
        private input_init;
        private setInputValue;
    }
}
declare namespace PDJS.Manage.Resources {
    interface ILocationOptions extends Jade.UI.IControlOptions {
        change?: (e: any) => void;
    }
    class Location extends Jade.UI.Control {
        private m_history;
        private m_overflowMenu;
        private m_path;
        constructor(options: ILocationOptions);
        private get nextButtonNode();
        private get prevButtonNode();
        private get rootButtonNode();
        get path(): Array<PDJS.Core.Resources.IResource>;
        private set path(value);
        private get pathNode();
        private get history();
        private set history(value);
        private get events();
        private get overflowMenu();
        private set overflowMenu(value);
        getPath(): string;
        resize(): void;
        template(): string;
        protected onInit(e: any): void;
        protected onActivate(e: any): void;
        protected onDestroy(e: any): void;
        private onChange;
        private onChanged;
        private item_onClick;
        private publishChangeEvent;
        private enableButton;
        private renderPath;
        private renderPathItem;
        private getIcon16x16;
        private getIconMisc;
        private setupSerivceCallSubscriber;
    }
}
declare namespace PDJS.Manage.Resources {
    interface ILocationMenuOptions {
        anchor: JQuery;
    }
    class LocationMenu {
        private m_menu;
        private m_anchor;
        constructor(options: ILocationMenuOptions);
        private get menu();
        private set menu(value);
        private get anchor();
        private set anchor(value);
        private get events();
        private get menuItemNodes();
        addMenuItems(items: Array<PDJS.Core.Resources.IResource>): void;
        clear(): void;
        destroy(): void;
        private init;
        private onMenuItemSelect;
        private createMenuItem;
        private publishChangeEvent;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IDuplicateFilesDialogOptions extends Jade.UI.IMultipleChoiceDialogOptions {
        select: (e: any) => void;
    }
    class DuplicateFilesDialog extends Jade.UI.MultipleChoiceDialog {
        static open(options: IDuplicateFilesDialogOptions): DuplicateFilesDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IDuplicateFoldersDialogOptions extends Jade.UI.IMultipleChoiceDialogOptions {
        select: (e: any) => void;
    }
    class DuplicateFoldersDialog extends Jade.UI.MultipleChoiceDialog {
        static open(options: IDuplicateFoldersDialogOptions): DuplicateFoldersDialog;
    }
}
declare namespace PDJS.Shared {
    interface ITaskAlert {
        code: number;
        id: string;
        tags: {
            [key: string]: any;
        };
    }
    interface ITaskAlertOf<tags> extends ITaskAlert {
        tags: tags;
    }
    interface ITaskAlertDialogResult {
        uploadId: string;
    }
    interface ITaskAlertDialogOptions extends Jade.UI.IDialogOptions {
        alert: ITaskAlert;
    }
    class TaskAlertDialog extends Jade.UI.Dialog {
        constructor(options: ITaskAlertDialogOptions, windowOptions?: any);
        protected get alert(): ITaskAlert;
        static open(options: ITaskAlertDialogOptions): TaskAlertDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IConflictTag {
        name: string;
        sourcepath: string;
        targetpath: string;
    }
    export interface IConflictDialogResult {
        action: string;
        repeat: boolean;
    }
    export interface IConflictDialogOptions extends PDJS.Shared.ITaskAlertDialogOptions {
        alert: PDJS.Shared.ITaskAlertOf<IConflictTag>;
    }
    export class ConflictDialog extends PDJS.Shared.TaskAlertDialog {
        private m_list;
        constructor(options: IConflictDialogOptions, windowOptions?: any);
        protected get alert(): PDJS.Shared.ITaskAlertOf<IConflictTag>;
        private get list();
        private set list(value);
        private get srcNode();
        private get dstNode();
        private get repeatNode();
        private get isFileConflict();
        template(): string;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private init_list;
        private getHeaderText;
        private getConflictText;
        private getIcon;
        private getResolveText;
        private getSkipText;
        static open(options: IConflictDialogOptions): ConflictDialog;
    }
    export {};
}
declare namespace PDJS.Manage.Resources {
    interface INewFileDialogResult {
        type: string;
        name: string;
        icon: string;
    }
    interface INewFileDialogOptions extends Jade.UI.IControlOptions {
    }
    class NewFileDialog extends Jade.UI.Dialog {
        private m_list;
        constructor(options: INewFileDialogOptions);
        private get list();
        private set list(value);
        private get selection();
        private set selection(value);
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private list_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        static open(options: INewFileDialogOptions): NewFileDialog;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IListViewItemBaseOptions {
        binding?: IListViewItemDataBinding;
        data?: any;
        check?: (item: ListViewItemBase) => void;
        checkVisible?: boolean;
        checkOnSelect?: boolean;
        iconSet?: string;
        remove?: (item: ListViewItemBase) => void;
        removeVisible?: boolean;
        select?: (item: ListViewItemBase, multiSelect: boolean) => void;
        selectMode: ListViewSelectMode;
        selectOnCheck?: boolean;
        tabIndex?: number;
    }
    class ListViewItemBase extends Jade.UI.Control {
        private m_data;
        constructor(options: IListViewItemOptions);
        get checked(): boolean;
        set checked(value: boolean);
        get data(): ListViewItemData;
        get selected(): boolean;
        set selected(value: boolean);
        get value(): any;
        get visible(): boolean;
        set visible(value: boolean);
        protected get checkNode(): JQuery;
        protected get checkOnSelect(): boolean;
        protected get checkVisible(): boolean;
        protected get checkCallback(): (item: ListViewItemBase) => void;
        protected get removeCallback(): (item: ListViewItemBase) => void;
        protected get removeNode(): JQuery;
        protected get removeVisible(): boolean;
        protected get selectCallback(): (item: ListViewItemBase, multiSelect: boolean) => void;
        protected get selectMode(): ListViewSelectMode;
        protected get selectOnCheck(): boolean;
        protected get tabIndex(): number;
        protected get templateNode(): JQuery;
        protected get iconSet(): string;
        template(): string | Array<string> | JQuery;
        toJSON(): any;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected templateContent(): string;
        private onRemove;
        private onCheck;
        private onSelect;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IListViewItemOptions extends IListViewItemBaseOptions {
        iconVisible: boolean;
    }
    class ListViewItem extends ListViewItemBase {
        constructor(options: IListViewItemOptions);
        protected get iconNode(): JQuery;
        protected get iconPath(): string;
        protected get iconVisible(): boolean;
        protected set iconVisible(value: boolean);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected templateContent(): string;
        protected resolveIconPath(): string;
    }
}
declare namespace PDJS.Manage.Resources {
    class NewFileDialogItem extends PDJS.Shared.UI.Controls.ListViewItem {
        protected resolveIconPath(): string;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IResourceDialogOptions extends Jade.UI.IControlOptions {
        extensions?: Array<string>;
    }
    class ResourceDialog extends Jade.UI.Dialog {
        private m_browser;
        private m_explorer;
        private m_location;
        private m_input;
        private m_splitter;
        private m_toolbar;
        private m_result;
        constructor(options: IResourceDialogOptions, windowOptions?: any);
        protected get browser(): Browser;
        private set browser(value);
        protected get explorer(): Explorer;
        private set explorer(value);
        private get extensions();
        protected get input(): Input;
        private set input(value);
        protected get location(): Location;
        private set location(value);
        protected get nodes(): Array<PDJS.Core.Resources.IResourceTreeNode>;
        private set nodes(value);
        protected get selectionMode(): PD.Web.UI.Controls.GridSelectionMode;
        protected set selectionMode(value: PD.Web.UI.Controls.GridSelectionMode);
        private get splitter();
        private set splitter(value);
        private get splitterNode();
        private get toolbar();
        private set toolbar(value);
        protected get viewStateId(): string;
        private set viewStateId(value);
        protected get okButtonNode(): JQuery;
        protected get cancelButtonNode(): JQuery;
        protected get result(): any;
        protected set result(value: any);
        template(): string | Array<string> | JQuery;
        onResize(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected closeAndReturn(): void;
        protected onResourceHighlight(e: IResourceHighlightEventArgs): void;
        protected onInputChanged(): void;
        protected onDialogPrepared(): void;
        private browser_init;
        private explorer_init;
        private location_init;
        private input_init;
        private splitter_init;
        private toolbar_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private updateCommandState;
        static open(options: IResourceDialogOptions): ResourceDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IOpenFileDialogOptions extends IResourceDialogOptions {
        folderId?: string;
    }
    class OpenFileDialog extends ResourceDialog {
        private m_selectedFiles;
        constructor(options: IOpenFileDialogOptions);
        get folderId(): string;
        protected closeAndReturn(): void;
        protected onInit(): void;
        protected onDialogPrepared(): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onInputChanged(): void;
        protected onResourceHighlight(e: IResourceHighlightEventArgs): void;
        protected onResourceSelect(e: IResourceSelectEventArgs): void;
        protected onStateChanged(): void;
        private setOkButtonState;
        private openFile;
        private setSelections;
        private selectFolderInExplorer;
        static open(options: IOpenFileDialogOptions): OpenFileDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    class ResourceDialogToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources {
    interface ISaveFileDialogResult extends IResourceDialogOptions {
        fileId: string;
        fileName: string;
        folderId: string;
        folderPath: string;
    }
    interface ISaveFileDialogOptions extends IResourceDialogOptions {
        fileName: string;
        fileContent: string;
        folderId?: string;
    }
    class SaveFileDialog extends ResourceDialog {
        constructor(options: ISaveFileDialogOptions);
        get fileName(): string;
        get fileContent(): string;
        get folderId(): string;
        protected closeAndReturn(): void;
        protected onInit(): void;
        protected onDialogPrepared(): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onInputChanged(): void;
        protected onResourceHighlight(e: IResourceHighlightEventArgs): void;
        protected onStateChanged(): void;
        private setOkButtonState;
        private saveFile;
        private selectFolderInExplorer;
        static open(options: ISaveFileDialogOptions): SaveFileDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    interface ISelectFileDialogResult extends Array<ISelectedResource> {
    }
    interface ISelectFileDialogOptions extends IResourceDialogOptions {
        folderId?: string;
    }
    class SelectFileDialog extends ResourceDialog {
        private m_selectedFiles;
        constructor(options: IOpenFileDialogOptions);
        get folderId(): string;
        protected closeAndReturn(): void;
        protected onInit(): void;
        protected onDialogPrepared(): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onInputChanged(): void;
        protected onResourceHighlight(e: IResourceHighlightEventArgs): void;
        protected onResourceSelect(e: IResourceSelectEventArgs): void;
        protected onStateChanged(): void;
        private setOkButtonState;
        private returnFiles;
        private setSelections;
        private selectFolderInExplorer;
        static open(options: ISelectFileDialogOptions): SelectFileDialog;
    }
}
declare namespace PDJS.Manage.Resources {
    interface IUploadZipDialogResult {
        uploadId: string;
        uploadName: string;
    }
    interface IUploadZipDialogOptions extends Jade.UI.IDialogOptions {
    }
    class UploadZipDialog extends Jade.UI.Dialog {
        private m_upload;
        constructor(options: IUploadZipDialogOptions, windowOptions?: any);
        protected get uploadId(): string;
        protected set uploadId(value: string);
        protected get uploadName(): string;
        protected set uploadName(value: string);
        protected get okButtonNode(): JQuery;
        protected get cancelButtonNode(): JQuery;
        template(): string;
        protected onActivate(e: any): void;
        private upload_init;
        static open(options?: IUploadZipDialogOptions): UploadZipDialog;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class EditorCommand extends Jade.Command {
        private initialLoadComplete;
        constructor();
        protected get editor(): PDJS.Shared.UI.Controls.CodeEditor;
        protected get fileId(): string;
        protected set fileId(value: string);
        protected get fileName(): string;
        protected set fileName(value: string);
        protected get folderId(): string;
        protected set folderId(value: string);
        protected get moduleId(): string;
        protected set moduleId(value: string);
        setState(state: any): void;
        protected updateCommandState(): void;
        protected onInitialLoad(): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class FontSizeCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
        protected onInitialLoad(): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class OpenCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class SaveCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        setState(state: any): void;
        execute(e: any): void;
        private save;
        private saveDialog;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class SaveAsCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        setState(state: any): void;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class ToggleFindCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class ToggleIndentsCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        protected onInitialLoad(): void;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class ToggleInvisiblesCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        protected onInitialLoad(): void;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class ToggleLineNumbersCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        protected onInitialLoad(): void;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class ToggleReplaceCommand extends EditorCommand {
        protected getDefaultValuesForProps(): any;
        execute(e: any): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class EditorCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    interface IEditorModuleOptions {
        fileId?: string;
        fileType?: string;
        folderId?: string;
        success: (e: IEditorModuleResponse) => void;
        saveAs: (e: IEditorModuleResponse) => void;
        error: (e: any) => void;
    }
    interface IEditorModuleResponse {
        fileId?: string;
        fileName?: string;
        mimeType?: string;
        folderPath?: string;
    }
    class EditorModule extends Jade.UI.Control {
        private m_editor;
        private m_toolbar;
        constructor(options: IEditorModuleOptions);
        private get editor();
        private set editor(value);
        private get errorCallback();
        private get successCallback();
        private get toolbar();
        private set toolbar(value);
        private get fileId();
        private set fileId(value);
        private get fileName();
        private set fileName(value);
        private get fileType();
        private set fileType(value);
        private get folderId();
        private set folderId(value);
        private get folderPath();
        private set folderPath(value);
        private get moduleId();
        private set moduleId(value);
        focus(): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected onDestroy(e: any): void;
        private editor_init;
        private toolbar_init;
        private updateCommandState;
        private loadNewResource;
        private loadExistingResource;
        private registerKeyboardShortcuts;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class EditorToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    enum Events {
        SaveAs = "file/save-as"
    }
    interface ISaveAsEventArgs {
        fileId: string;
        fileName: string;
        folderId: string;
        folderPath: string;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class EventsHub extends PDJS.Shared.EventsHubBase {
        static saveAsPublish(args: ISaveAsEventArgs): void;
        static saveAsSubscribe(handler: (e: ISaveAsEventArgs) => void): Jade.EventBusSubscription;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarItemOptions {
    }
    class ToolbarItem extends Jade.UI.Control {
        constructor(options: IToolbarItemOptions);
        protected get contentNode(): JQuery;
        get overflowed(): boolean;
        set overflowed(value: boolean);
        createCopy(): ToolbarItem;
        template(): string;
        protected onStateChanged(): void;
        protected content(): string;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarCommandItemOptions extends IToolbarItemOptions {
        commandId: string;
    }
    class ToolbarCommandItem extends ToolbarItem {
        private m_commander;
        constructor(options: IToolbarCommandItemOptions);
        get commandId(): string;
        get commander(): ControlCommander;
        protected set commander(value: ControlCommander);
        protected get value(): string;
        createCopy(): ToolbarCommandItem;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        protected onPropertiesChanged(): void;
        protected createTooltip(): void;
        protected hideTooltip(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarCommandListItem {
        label: string;
        value: any;
    }
    interface IToolbarCommandListOptions extends IToolbarCommandItemOptions {
        items?: Array<IToolbarCommandListItem>;
    }
    class ToolbarCommandList extends ToolbarCommandItem {
        constructor(options: IToolbarCommandListOptions);
        protected get items(): Array<IToolbarCommandListItem>;
        protected set items(value: Array<IToolbarCommandListItem>);
        protected get iconNode(): JQuery;
        protected get listNode(): JQuery;
        protected get inputNode(): JQuery;
        protected get textNode(): JQuery;
        protected content(): string;
        protected onActivate(e: any): void;
        protected onPropertiesChanged(): void;
    }
}
declare namespace PDJS.Manage.Resources.Editor {
    class FontSizeItem extends PDJS.Shared.UI.Controls.ToolbarCommandList {
        constructor(options: PDJS.Shared.UI.Controls.IToolbarCommandListOptions);
        protected onInit(e: any): void;
        protected onPropertiesChanged(): void;
    }
}
declare namespace PDJS.Manage.Rules {
    interface IRuleDialogCreateArgs {
        commit?(e: any): void;
    }
    interface IRuleDialogEditArgs extends IRuleDialogCreateArgs {
        ruleId?: number;
        ruleName?: number;
    }
    class RuleEditing {
        static create(e?: IRuleDialogCreateArgs): void;
        static edit(e: IRuleDialogEditArgs): void;
        static editScript(scriptId: string): void;
        private static showFeatureDialog;
    }
}
declare namespace PDJS.Manage.Reports {
    interface IRuleScriptSelectionDialogSelection {
        id: string;
        name: string;
    }
    interface IRuleScriptSelectionDialogOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class RuleScriptSelectionDialog extends Jade.UI.Dialog {
        private m_selection;
        private m_grid;
        constructor(options: IRuleScriptSelectionDialogOptions);
        private get viewStateId();
        private get grid();
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        static open(options: IRuleScriptSelectionDialogOptions): RuleScriptSelectionDialog;
    }
}
declare namespace PDJS.Manage.Settings {
    class SettingEditor extends FeatureBlendJS.Views.MacroEditorBase {
        protected get label(): string;
        protected get isReadOnly(): boolean;
        protected get labelNode(): JQuery;
        protected get contentNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected contentTemplate(): string;
        protected onValidationErrors(): void;
    }
}
declare namespace PDJS.Manage.Settings {
    class BooleanSettingEditor extends SettingEditor {
        private get trueNode();
        private get falseNode();
        contentTemplate(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage.Settings {
    class IntegerSettingEditor extends SettingEditor {
        private get input();
        contentTemplate(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage.Settings {
    class ListSettingEditor extends SettingEditor {
        private get input();
        private get items();
        contentTemplate(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage.Settings {
    class MarkupTextualEditor extends SettingEditor {
        private m_editor;
        private get editorNode();
        private get editor();
        private set editor(value);
        focus(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private setEditorValueAndFocus;
    }
}
declare namespace PDJS.Manage.Settings {
    class MarkupVisualEditor extends SettingEditor {
        private m_editor;
        protected get containerNode(): JQuery;
        protected get editorNode(): JQuery;
        private get editor();
        private set editor(value);
        private get content();
        private set content(value);
        focus(): void;
        template(): string | Array<string> | JQuery;
        resize(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private editor_init;
        private editor_onSetup;
        private editor_onShowColorPicker;
        private editor_loadContent;
        private editor_sizeToFit;
    }
}
declare namespace PDJS.Manage.Settings {
    class StringSettingEditor extends SettingEditor {
        private get input();
        contentTemplate(): string;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Manage.Tags {
    class ExpressionGeneralFeature extends FeatureBlendJS.Views.MacroEditorBase {
        private m_name;
        private m_description;
        private m_editor;
        get name(): string;
        set name(value: string);
        get description(): string;
        set description(value: string);
        get expression(): string;
        set expression(value: string);
        get buttonNode(): JQuery;
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onValidationErrors(): void;
    }
}
declare namespace PDJS.Manage.Tags {
    interface IExpressionsSelectionDialogResult {
        expressionId: string;
        expressionName: string;
    }
    interface IExpressionsSelectionDialogOptions extends Jade.UI.IDialogOptions {
    }
    class ExpressionsSelectionDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: IExpressionsSelectionDialogOptions);
        private get grid();
        private get cancelButtonNode();
        c: any;
        private get okButtonNode();
        private get viewStateId();
        private set viewStateId(value);
        private get selection();
        private set selection(value);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        template(): string | Array<string> | JQuery;
        static open(options: IExpressionsSelectionDialogOptions): ExpressionsSelectionDialog;
        private grid_init;
        private startUp;
        private closeAndReturn;
    }
}
declare namespace PDJS.Shared.Features {
    class FeatureDialogForNhib extends FeatureDialog {
        protected getRequestData(): IFeatureRequestData;
        static open(options: IFeatureDialogOptions, windowOptions?: any): FeatureDialogForNhib;
    }
}
declare namespace PDJS.Manage.Tags {
    class NewExpressionDialog extends PDJS.Shared.Features.FeatureDialogForNhib {
        static open(options: Jade.UI.IDialogOptions): NewTagDialog;
    }
}
declare namespace PDJS.Manage.Tags {
    class NewTagDialog extends PDJS.Shared.Features.FeatureDialogForNhib {
        static open(options: Jade.UI.IDialogOptions): NewTagDialog;
    }
}
declare namespace PDJS.Manage.Tags {
    interface ITagsSelectionDialogResult {
        tagName: string;
    }
    interface ITagsSelectionDialogOptions extends Jade.UI.IDialogOptions {
    }
    class TagsSelectionDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: ITagsSelectionDialogOptions);
        private get grid();
        private get cancelButtonNode();
        private get okButtonNode();
        private get viewStateId();
        private set viewStateId(value);
        private get selection();
        private set selection(value);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        template(): string | Array<string> | JQuery;
        static open(options: ITagsSelectionDialogOptions): TagsSelectionDialog;
        private grid_init;
        private startUp;
        private closeAndReturn;
    }
}
declare namespace PDJS.Manage.Users {
    interface IMemberships {
        add: Array<any>;
        remove: Array<any>;
    }
    export class UserMembershipEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        private m_toolbar;
        get userId(): string;
        get viewStateId(): string;
        get memberships(): IMemberships;
        set memberships(value: IMemberships);
        resize(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private commit;
    }
    export {};
}
declare namespace PDJS.Manage.Views {
    interface IViewDeleteDialogOptions extends Jade.UI.IMultipleChoiceDialogOptions {
        select: (e: any) => void;
    }
    class ViewDeleteDialog extends Jade.UI.MultipleChoiceDialog {
        static open(options: IViewDeleteDialogOptions): ViewDeleteDialog;
    }
}
declare namespace PDJS.Manage.Views {
    class ViewDesignEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        private m_menu;
        private get menuNode();
        private get gridNode();
        private get viewStateId();
        resize(): void;
        focus(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        private grid_init;
        private menu_init;
    }
}
declare namespace PDJS.Manage.Views {
    interface ISeachGroupOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        entityTypeId: number;
        documentTypeId: number;
    }
    interface ISearchGroupRefreshRequestArgs extends Jade.UI.IControlOptions {
        clear: boolean;
        selections: Array<string>;
    }
    class SearchGroups extends Jade.UI.Control {
        constructor(options: ISeachGroupOptions);
        private get grid();
        private set grid(value);
        private get toolbar();
        private set toolbar(value);
        private get entityTypeId();
        private get documentTypeId();
        private get viewStateId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        private grid_init;
        private toolbar_init;
    }
}
declare namespace PDJS.Manage.Views {
    interface ISearchGroupsDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeId?: number;
        documentTypeId?: number;
    }
    interface ISearchGroupsActionResult {
        searchGroupsViewStateId: string;
        searchGroupItemsViewStateId: string;
    }
    class SearchGroupsDialog extends Jade.UI.Dialog {
        constructor(options: ISearchGroupsDialogOptions);
        private get splitter();
        private set splitter(value);
        private get splitterNode();
        private get closeButtonNode();
        private get entityTypeId();
        private get documentTypeId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onDestroy(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        static open(options: ISearchGroupsDialogOptions): SearchGroupsDialog;
        private loadControls;
    }
}
declare namespace PDJS.Manage.Views {
    class SearchGroupsToolbarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Views {
    interface ISearchItemsOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
        entityTypeId: number;
    }
    interface ISearchItemsRefreshRequestArgs extends Jade.UI.IControlOptions {
        clear: boolean;
        selections: Array<string>;
    }
    class SearchItems extends Jade.UI.Control {
        private m_grid;
        private m_toolbar;
        private m_selectedSearchGroupId;
        constructor(options: ISearchItemsOptions);
        private get viewStateId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        private grid_init;
        private toolbar_init;
    }
}
declare namespace PDJS.Manage.Views {
    class SearchItemsToolbarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Views {
    class AddSearchGroupCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected getDefaultValuesForProps(): any;
        private get entityTypeId();
        private get documentTypeId();
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.Views {
    enum SearchItemEvent {
        onSearchItemRefreshRequest = "searchitem/refresh-request"
    }
    class AddSearchItemCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected getDefaultValuesForProps(): any;
        private get searchGroupId();
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.Views {
    enum SearchGroupEvent {
        onSearchGroupRefreshRequest = "searchgroup/refresh-request",
        onSearchGroupSelected = "searchgroup/selected"
    }
    class EditSearchGroupCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected getDefaultValuesForProps(): any;
        private get searchGroupId();
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.Views {
    class RemoveSearchGroupCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected getDefaultValuesForProps(): any;
        private get searchGroupId();
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.Views {
    class RemoveSearchItemCommand extends Jade.Command {
        constructor(props: Jade.ICommandProps);
        protected getDefaultValuesForProps(): any;
        private get searchItemIds();
        protected onStateChanged(e: any): void;
        onExecute(e: any): void;
    }
}
declare namespace PDJS.Manage.Views {
    class SearchGroupCommands extends Jade.CommandGroup<Jade.ICommandState> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Manage.Views {
    interface ISearchItemsSelectionDialogOptions extends Jade.UI.IDialogOptions {
        searchGroupId: string;
    }
    class SearchItemsSelectionDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: ISearchItemsSelectionDialogOptions);
        private get cancelButtonNode();
        private get gridNode();
        private get okButtonNode();
        private get searchGroupId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        template(): string | Array<string> | JQuery;
        static open(options: ISearchItemsSelectionDialogOptions): SearchItemsSelectionDialog;
        private init_grid;
        private okAndClose;
    }
}
declare namespace PDJS.Services {
}
declare namespace PDJS.Services {
    interface IErrorOptions {
        code: number;
        message: string;
    }
    interface IError {
        code: number;
        message: string;
    }
    class Error implements IError {
        private m_code;
        private m_message;
        constructor(options: IErrorOptions);
        get code(): number;
        get message(): string;
    }
}
declare namespace PDJS.Services {
    class HttpError extends Error {
    }
}
declare namespace PDJS.Services {
    class Service {
    }
}
declare namespace PDJS.Services {
    class ServiceError extends Error {
    }
}
declare namespace PDJS.Services {
    interface ITaskCallback<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> {
        (pipeline: ServicePipeline<TRequestMessage, TResponseMessage>): void;
    }
    class ServicePipeline<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> {
        private m_request;
        private m_response;
        private m_tasks;
        private m_stopped;
        constructor();
        private get tasks();
        get request(): ServiceRequestOf<TRequestMessage, TResponseMessage>;
        get response(): ServiceResponseOf<TResponseMessage>;
        set response(value: ServiceResponseOf<TResponseMessage>);
        get stopped(): boolean;
        set stopped(value: boolean);
        addBeforeSendTask(callback: ITaskCallback<TRequestMessage, TResponseMessage>): ServicePipeline<TRequestMessage, TResponseMessage>;
        addErrorTask(callback: ITaskCallback<TRequestMessage, TResponseMessage>): ServicePipeline<TRequestMessage, TResponseMessage>;
        addSuccessTask(callback: ITaskCallback<TRequestMessage, TResponseMessage>): ServicePipeline<TRequestMessage, TResponseMessage>;
        addCompleteTask(callback: ITaskCallback<TRequestMessage, TResponseMessage>): ServicePipeline<TRequestMessage, TResponseMessage>;
        createRequest(options: IServiceRequestOptions): ServicePipeline<TRequestMessage, TResponseMessage>;
        sendRequest(): void;
        abortRequestWithSuccess(timeout?: number): void;
        abortRequestWithError(timeout?: number): void;
        static bundleJsonData(bundleName: string, data: IServiceRequestMessage): IServiceRequestMessage | any;
        protected onBeforeSend(xhr: JQueryXHR, textStatus: string): void;
        protected onComplete(xhr: JQueryXHR, textStatus: string): void;
        protected onSuccess(data: any, textStatus: string, xhr: JQueryXHR): void;
        protected onError(xhr: JQueryXHR, statueText: string, errorThrown: string): void;
        private addTask;
        static createRequest<TRequestMessage, TResponseMessage>(options: IServiceRequestOptionsOf<TRequestMessage>): ServicePipeline<TRequestMessage, TResponseMessage>;
    }
}
declare namespace PDJS.Services {
    enum ContentType {
        JSON = "application/json",
        HTML = "html"
    }
    interface IServiceRequestOptions {
        accepts?: string;
        async?: boolean;
        cache?: boolean;
        contentType?: ContentType;
        method?: Jade.HttpVerb;
        url?: string;
        data?: IServiceRequestMessage;
    }
    interface IServiceRequestOptionsOf<TRequestMessage extends IServiceRequestMessage> extends IServiceRequestOptions {
        data?: TRequestMessage;
    }
    interface IServiceRequestMessage extends IServiceRequestCallbacks {
        [key: string]: any;
    }
    interface IServiceRequestCallbacks {
        beforeSend?: (e: IServiceResponse) => void;
        complete?: (e: IServiceResponse) => void;
        error?: (e: IServiceResponse) => void;
        success?: (e: IServiceResponse) => void;
    }
    interface IServiceRequestMessageOf<TResponseMessage extends IServiceResponseMessage> extends IServiceRequestCallbacksOf<TResponseMessage> {
    }
    interface IServiceRequestCallbacksOf<TResponseMessage extends IServiceResponseMessage> extends IServiceRequestCallbacks {
        beforeSend?: (e: IServiceResponse) => void;
        complete?: (e: IServiceResponseOf<TResponseMessage>) => void;
        error?: (e: IServiceResponse) => void;
        success?: (e: IServiceResponseOf<TResponseMessage>) => void;
    }
    class ServiceRequest {
        private m_callbacks;
        private m_options;
        private m_xhr;
        constructor(options: IServiceRequestOptions);
        get accepts(): string;
        set accepts(value: string);
        get async(): string;
        set async(value: string);
        get beforeSend(): (e: IServiceResponse) => void;
        set beforeSend(value: (e: IServiceResponse) => void);
        get cache(): boolean;
        set cache(value: boolean);
        get complete(): (e: IServiceResponse) => void;
        set complete(value: (e: IServiceResponse) => void);
        get contentType(): string;
        set contentType(value: string);
        get error(): (e: IServiceResponse) => void;
        set error(value: (e: IServiceResponse) => void);
        get data(): IServiceRequestMessage;
        set data(value: IServiceRequestMessage);
        get options(): Jade.StateBag;
        get success(): (e: IServiceResponse) => void;
        set success(value: (e: IServiceResponse) => void);
        get method(): Jade.HttpVerb;
        set method(value: Jade.HttpVerb);
        get url(): string;
        set url(value: string);
        get xhr(): JQueryXHR;
        set xhr(value: JQueryXHR);
        getDataForAjaxRequest(): any;
        protected getCallback(name: string): (e: IServiceResponse) => void;
        protected setCallback(name: string, callback: (e: IServiceResponse) => void): void;
        protected registerCallbacks(callbacks: IServiceRequestCallbacks): void;
        send(arg1: any): void;
    }
    class ServiceRequestOf<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> extends ServiceRequest {
        constructor(options: IServiceRequestOptions);
        get data(): IServiceRequestMessageOf<TResponseMessage>;
        set data(value: IServiceRequestMessageOf<TResponseMessage>);
        get beforeSend(): (e: IServiceResponseOf<TResponseMessage>) => void;
        set beforeSend(value: (e: IServiceResponseOf<TResponseMessage>) => void);
        get complete(): (e: IServiceResponseOf<TResponseMessage>) => void;
        set complete(value: (e: IServiceResponseOf<TResponseMessage>) => void);
        get error(): (e: IServiceResponseOf<TResponseMessage>) => void;
        set error(value: (e: IServiceResponseOf<TResponseMessage>) => void);
        get success(): (e: IServiceResponseOf<TResponseMessage>) => void;
        set success(value: (e: IServiceResponseOf<TResponseMessage>) => void);
    }
}
declare namespace PDJS.Services {
    interface IServiceResponseMessage {
    }
    interface IServiceResponseTask extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IServiceResponse {
        data?: any;
        error?: IError;
        errorHandled?: boolean;
        statusText?: string;
        xhr: JQueryXHR;
    }
    interface IServiceResponseOf<T extends IServiceResponseMessage> extends IServiceResponse {
        data?: T;
    }
    class ServiceResponse implements IServiceResponse {
        protected m_data: any;
        private m_xhr;
        private m_error;
        private m_errorHandled;
        private m_statusText;
        constructor(options: IServiceResponse);
        get hasError(): boolean;
        get errorHandled(): boolean;
        set errorHandled(value: boolean);
        get error(): IError;
        set error(value: IError);
        get statusText(): string;
        set statusText(value: string);
        get data(): any;
        set data(value: any);
        get xhr(): JQueryXHR;
        set xhr(value: JQueryXHR);
    }
    class ServiceResponseOf<T> extends ServiceResponse implements IServiceResponseOf<T> {
        constructor(options: IServiceResponseOf<T>);
        get data(): T;
        set data(value: T);
    }
}
declare namespace PDJS.Services {
    enum ServiceTaskType {
        OnBeforeSend = 0,
        OnError = 1,
        OnSuccess = 2,
        OnComplete = 3
    }
    interface IServiceTaskOptions<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> {
        type: ServiceTaskType;
        callback: (pipeline: ServicePipeline<TRequestMessage, TResponseMessage>) => void;
    }
    class ServiceTask<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> {
        private m_type;
        private m_callback;
        constructor(options: IServiceTaskOptions<TRequestMessage, TResponseMessage>);
        get type(): ServiceTaskType;
        execute(pipeline: ServicePipeline<TRequestMessage, TResponseMessage>): void;
    }
}
declare namespace PDJS.Services {
    interface IServiceTaskCollectionOptions<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> {
        pipeline: ServicePipeline<TRequestMessage, TResponseMessage>;
    }
    class ServiceTaskCollection<TRequestMessage extends IServiceRequestMessage, TResponseMessage extends IServiceResponseMessage> extends Jade.Collection<ServiceTask<TRequestMessage, TResponseMessage>> {
        private m_pipeline;
        constructor(options: IServiceTaskCollectionOptions<TRequestMessage, TResponseMessage>);
        get pipeline(): ServicePipeline<TRequestMessage, TResponseMessage>;
        execute(type: ServiceTaskType): void;
    }
}
declare namespace PDJS.Services.Canvas {
    interface ILoadActualDocumentRequest extends IServiceRequestMessageOf<ILoadActualDocumentResponse> {
        documentId: string;
        entityId: number;
        rowId?: number;
    }
    interface ILoadActualDocumentResponse extends IServiceResponseMessage, PDJS.Canvas.Core.Documents.IDocument {
    }
    interface ILoadDesignDocumentRequest extends IServiceRequestMessageOf<ILoadDesignDocumentResponse> {
        documentId: string;
    }
    interface ILoadDesignDocumentResponse extends IServiceResponseMessage, PDJS.Canvas.Core.Documents.IDocument {
    }
    interface ISaveDesignDocumentRequest extends IServiceRequestMessageOf<ISaveDesignDocumentResponse> {
        document: CanvasJS.IDocumentModel;
    }
    interface ISaveDesignDocumentResponse extends IServiceResponseMessage {
        document: CanvasJS.IDocumentModel;
        hasChanged: boolean;
        hasSaveErrors: boolean;
        saveErrors: Array<string>;
    }
    interface ICloseDesignSessionRequest extends IServiceRequestMessageOf<ICloseDesignSessionResponse> {
        sessionId: string;
    }
    interface ICloseDesignSessionResponse {
    }
    interface IDocumentService {
        loadActualDocument: (data: ILoadActualDocumentRequest) => void;
        loadDesignDocument: (data: ILoadDesignDocumentRequest) => void;
        saveDesignDocument: (data: ISaveDesignDocumentRequest) => void;
        closeDesignDocument: (data: ICloseDesignSessionRequest) => void;
    }
    class DocumentService implements IDocumentService {
        loadActualDocument(data: ILoadActualDocumentRequest): void;
        loadDesignDocument(data: ILoadDesignDocumentRequest): void;
        saveDesignDocument(data: ISaveDesignDocumentRequest): void;
        closeDesignDocument(data: ICloseDesignSessionRequest): void;
    }
}
declare namespace PDJS.Services.Canvas {
    interface ICreateDesignElementsRequest extends IServiceRequestMessageOf<ICreateDesignElementsResponse> {
        documentId: string;
        sessionId: string;
        elements: Array<CanvasJS.IElementModel>;
        reset?: boolean;
    }
    interface ICreateDesignElementsResponse extends IServiceResponseMessage, Array<CanvasJS.Design.IElementState> {
    }
    interface IDeleteDesignElementsRequest extends IServiceRequestMessageOf<IDeleteDesignElementsResponse> {
        documentId: string;
        sessionId: string;
        elements: Array<CanvasJS.IElementModel>;
    }
    interface IDeleteDesignElementsResponse extends IServiceResponseMessage {
    }
    interface IGetCachedDataRequest extends IServiceRequestMessageOf<IGetCachedDataResponse> {
        entityId: number;
        documentId: string;
        elementId: string;
        refresh: boolean;
    }
    interface IGetCachedDataResponse extends IServiceResponseMessage, PDJS.Canvas.Core.ICachedElement {
    }
    interface IElementService {
        getCachedData: (data: IGetCachedDataRequest) => void;
        createDesignElements: (data: ICreateDesignElementsRequest) => void;
        deleteDesignElements(data: IDeleteDesignElementsRequest): void;
    }
    class ElementService implements IElementService {
        getCachedData(data: IGetCachedDataRequest): void;
        createDesignElements(data: ICreateDesignElementsRequest): void;
        deleteDesignElements(data: IDeleteDesignElementsRequest): void;
    }
}
declare namespace PDJS.Services.Canvas {
    interface IScriptResponse {
        entityChanges: Array<IEntityChange>;
        hasEntityChanges: boolean;
        hasScriptAlerts: boolean;
        hasScriptErrors: boolean;
        redirectUrl: string;
        scriptAlerts: Array<string>;
        scriptErrors: Array<string>;
    }
    interface IEntityChange {
        id: number;
        name: string;
        icon: string;
        isEntity: boolean;
        isExplorer: boolean;
    }
}
declare namespace PDJS.Services.Canvas {
    interface IListRequest {
        entityId: number;
        folderId: number;
    }
    interface ICreateListItemRequest extends IServiceRequestMessageOf<ICreateListItemResponse>, IListRequest {
        document: PDJS.Canvas.Core.Documents.ActualDocument;
        extensionId: number;
    }
    interface IDeleteListItemRequest extends IServiceRequestMessageOf<IDeleteListItemResponse>, IListRequest {
        rowIds: Array<number>;
    }
    interface IUpdateListItemRequest extends IServiceRequestMessageOf<IUpdateListItemResponse>, IListRequest {
        document: PDJS.Canvas.Core.Documents.ActualDocument;
        extensionId: number;
        rowIds: Array<number>;
    }
    interface IListResponse extends PDJS.Services.Canvas.Forms.ISubmitFormResponseBase {
        entityId: number;
        rowId: number;
    }
    interface ICreateListItemResponse extends IListResponse {
    }
    interface IDeleteListItemResponse extends IServiceResponseTask {
    }
    interface IUpdateListItemResponse extends IListResponse {
    }
    interface IListItemService {
        create: (data: ICreateListItemRequest) => void;
        delete: (data: IDeleteListItemRequest) => void;
        update: (data: IUpdateListItemRequest) => void;
    }
    class ListItemService implements IListItemService {
        create(data: ICreateListItemRequest): void;
        delete(data: IDeleteListItemRequest): void;
        update(data: IUpdateListItemRequest): void;
    }
}
declare namespace PDJS.Services.Canvas {
    interface ILoadToolBoxRequest extends IServiceRequestMessageOf<ILoadToolBoxResponse> {
        canvasType: PDJS.Canvas.Core.CanvasType;
    }
    interface ICreateElementsRequest extends IServiceRequestMessageOf<ICreateElementsResponse> {
        sessionID: string;
        documentID: string;
        states: Array<CanvasJS.IElementModel>;
    }
    interface ILoadToolBoxResponse extends IServiceResponseMessage, Array<any> {
    }
    interface ICreateElementsResponse extends IServiceResponseMessage, Array<CanvasJS.IElementModel> {
    }
    interface IToolBoxService {
        load: (data: ILoadToolBoxRequest) => void;
    }
    class ToolBoxService implements IToolBoxService {
        load(data: ILoadToolBoxRequest): void;
    }
}
declare namespace PDJS.Services.Canvas.Files {
    interface IFileResponse extends Canvas.Forms.ISubmitFormResponseBase {
        fileId: number;
    }
    interface IFileCreateRequest extends IServiceRequestMessageOf<IFileCreateResponse> {
        document: PDJS.Canvas.Core.Documents.DocumentModel;
        parentId: number;
        folderId: number;
        documentTypeId: number;
        documentName: string;
        uploadName: string;
    }
    interface IFileCreateResponse extends IServiceResponseMessage, IFileResponse {
    }
    interface IFileEditRequest extends IServiceRequestMessageOf<IFileEditResponse> {
        document: PDJS.Canvas.Core.Documents.DocumentModel;
        fileId: number;
        documentTypeId: number;
    }
    interface IFileEditResponse extends IServiceResponseMessage, IFileResponse {
    }
    interface IGetCanvasDocumentRequest extends IServiceRequestMessageOf<IGetCanvasDocumentResponse> {
        documentId: string;
        fileId?: number;
    }
    interface IGetCanvasDocumentResponse extends IServiceResponseMessage {
        document: PDJS.Canvas.Core.Documents.IDocument;
        validateResponse: Services.Canvas.Forms.ISubmitFormResponseBase;
    }
    interface IFileService {
        create: (data: IFileCreateRequest) => void;
        edit: (data: IFileEditRequest) => void;
    }
    class FileService implements IFileService {
        create(data: IFileCreateRequest): void;
        edit(data: IFileEditRequest): void;
        getCanvasDocument(data: IGetCanvasDocumentRequest): void;
    }
}
declare namespace PDJS.Services.Canvas.Forms {
    interface IEntityFieldQueryRequest extends IServiceRequestMessageOf<IEntityQueryResponse> {
        viewId: number;
        searchTerm: string;
    }
    interface IEntityQueryResponse extends IServiceResponseMessage {
        entities: Array<IEntityQueryRecord>;
        count: number;
    }
    interface IEntityQueryRecord {
        entityID: number;
        entityName: string;
        entityTypeIcon: string;
        entityTypeName: string;
    }
    interface IEntityParentFieldQueryRequest extends IServiceRequestMessageOf<IEntityQueryResponse> {
        childTypeId: number;
        searchTerm: string;
    }
    interface IUserFieldQueryRequest extends IServiceRequestMessageOf<IUserFieldQueryResponse> {
        viewId: number;
        searchTerm: string;
    }
    interface IUserFieldQueryResponse extends IServiceResponseMessage {
        users: Array<IUserQueryRecord>;
        count: number;
    }
    interface IUserQueryRecord {
        userID: number;
        userName: string;
    }
    interface IFormFieldService {
        entityFieldQuery: (data: IEntityFieldQueryRequest) => void;
    }
    class FormFieldService implements IFormFieldService {
        entityFieldQuery(data: IEntityFieldQueryRequest): void;
        entityParentFieldQuery(data: IEntityParentFieldQueryRequest): void;
        userFieldQuery(data: IUserFieldQueryRequest): void;
    }
}
declare namespace PDJS.Services.Canvas.Forms {
    interface ISubmitFormRequest extends IServiceRequestMessageOf<ISubmitFormResponse> {
        document: CanvasJS.IDocumentModel;
        entityId: number;
        formButtonId: string;
    }
    interface ISubmitFormResponse extends IEntityResponse {
        document: CanvasJS.IDocumentModel;
    }
    interface IValidateFormRequest extends IServiceRequestMessageOf<IValidateFormResponse> {
        document: CanvasJS.IDocumentModel;
    }
    interface IValidateFormResponse extends ISubmitFormResponseBase {
    }
    interface IFormService {
        submit: (data: ISubmitFormRequest) => void;
        validate: (data: IValidateFormRequest) => void;
    }
    class FormService implements IFormService {
        submit(data: ISubmitFormRequest): void;
        validate(data: IValidateFormRequest): void;
    }
}
declare namespace PDJS.Services.Canvas.Forms {
    interface ISubmitFormResponseBase extends IServiceResponseMessage, IScriptResponse {
        hasValidationErrors: boolean;
        validationErrors: {
            [key: string]: string;
        };
    }
    interface IEntityResponse extends ISubmitFormResponseBase {
        entityId: number;
        entityName: string;
    }
}
declare namespace PDJS.Services.DocumentTypes {
    interface ILoadDocumentTypeRequest extends IServiceRequestMessageOf<ILoadDocumentTypeResponse> {
        id: number;
    }
    interface ILoadDocumentTypeResponse extends IServiceResponseMessage, Core.DocumentTypes.IDocumentType {
    }
    interface ILoadDocumentTypesRequest extends IServiceRequestMessageOf<ILoadDocumentTypesResponse> {
        ids: Array<number>;
    }
    interface ILoadDocumentTypesResponse extends IServiceResponseMessage, Array<Core.DocumentTypes.IDocumentType> {
    }
    interface IDocumentTypeService {
        loadDocumentType: (data: ILoadDocumentTypeRequest) => void;
    }
    class DocumentTypeService implements IDocumentTypeService {
        loadDocumentType(data: ILoadDocumentTypeRequest): void;
        loadDocumentTypes(data: ILoadDocumentTypesRequest): void;
    }
}
declare namespace PDJS.Services.EntityTypes {
    interface IListRequest extends IServiceRequestMessageOf<ILoadFoldersResponse> {
    }
    interface IListResponse extends IServiceResponseMessage, Array<Core.EntityTypes.IEntityType> {
    }
    interface IEntityTypesService {
        list: (data: IListRequest) => void;
    }
    class EntityTypesService implements IEntityTypesService {
        list(data: IListRequest): void;
    }
}
declare namespace PDJS.Services.EntityTypes {
    interface ILoadFoldersRequest extends IServiceRequestMessageOf<ILoadFoldersResponse> {
        entityTypeId: number;
        folderId?: number;
    }
    interface ILoadFoldersResponse extends IServiceResponseMessage, Array<IExplorerFolder> {
    }
    interface IExplorerModelService {
        loadFolders: (data: ILoadFoldersRequest) => void;
    }
    interface IExplorerFolder {
        entityTypeId: number;
        parentId: number;
        id: number;
        name: string;
        icon: string;
        role: string;
        isHidden: boolean;
        isTab: boolean;
        hasChildren: boolean;
        items: Array<any>;
    }
    class ExplorerModelService implements IExplorerModelService {
        loadFolders(data: ILoadFoldersRequest): void;
    }
}
declare namespace PDJS.Services.EntityTypes {
    interface IAddRelationshipRequest extends IServiceRequestMessageOf<IAddRelationshipResponse> {
        parentId: number;
        childId: number;
    }
    interface IDeleteRelationshipRequest extends IServiceRequestMessageOf<IDeleteRelationshipResponse> {
        parentId: number;
        childId: number;
    }
    interface IGetRelationshipsRequest extends IServiceRequestMessageOf<IGetRelationshipsResponse> {
        entityTypeId: number;
    }
    interface IGetRelationshipTreeRequest extends IServiceRequestMessageOf<IGetRelationshipTreeResponse> {
    }
    interface IIndexRequest extends IServiceRequestMessageOf<IIndexResponse> {
    }
    interface IAddRelationshipResponse extends IServiceResponseMessage {
    }
    interface IDeleteRelationshipResponse extends IServiceResponseMessage {
    }
    interface IGetRelationshipsResponse extends IServiceResponseMessage, Core.EntityTypes.IEntityTypeRelationships {
    }
    interface IGetRelationshipTreeResponse extends IServiceResponseMessage, Core.EntityTypes.IEntityTypeNodeCollection {
    }
    interface IIndexResponse extends IServiceResponseMessage {
        viewStateId: string;
    }
    interface IRelationshipsService {
        index(data: IIndexRequest): void;
        addRelationship(data: IAddRelationshipRequest): void;
        deleteRelationship(data: IDeleteRelationshipRequest): void;
        getRelationships(data: IGetRelationshipsRequest): void;
        getRelationshipTree(data: IGetRelationshipTreeRequest): void;
    }
    class RelationshipsService implements IRelationshipsService {
        addRelationship(data: IAddRelationshipRequest): void;
        deleteRelationship(data: IDeleteRelationshipRequest): void;
        getRelationships(data: IGetRelationshipsRequest): void;
        getRelationshipTree(data: IGetRelationshipTreeRequest): void;
        index(data: IIndexRequest): void;
    }
}
declare namespace PDJS.Services.Explorer {
    interface IProperties {
        [key: string]: any;
    }
    interface IExplorerTab {
        entityId: number;
        folderId: number;
        folderIcon: string;
        folderName: string;
        fileCount: number;
        selected: boolean;
    }
    interface IExplorerContent {
        entityId: number;
        entityName: string;
        folderId: number;
        folderIcon: string;
        folderName: string;
        formTypeId: string;
        properties: IProperties;
        tabs: Array<IExplorerTab>;
    }
    interface IGetExplorerRequest extends IServiceRequestMessageOf<IGetExplorerResponse> {
        entityId: number;
        folderId: string;
        expanded?: Array<number>;
        includeTabs: boolean;
    }
    interface IGetExplorerNodesRequest extends IServiceRequestMessageOf<IGetExplorerNodesResponse> {
        entityId: number;
        folderId: number;
        includeTabs: boolean;
    }
    interface IGetContentRequest extends IServiceRequestMessageOf<IGetContentResponse> {
        entityId: number;
        folderId: number;
    }
    interface IGetExplorerResponse extends IServiceResponseMessage {
        nodes: Array<Core.Explorer.IModelNodeBase>;
    }
    interface IGetExplorerNodesResponse extends IServiceResponseMessage, Array<Core.Explorer.IModelNodeBase> {
    }
    interface IGetContentResponse extends IServiceResponseMessage, IExplorerContent {
    }
    interface IExplorerService {
        getExplorer: (data: IGetExplorerRequest) => void;
        getExplorerNodes: (data: IGetExplorerNodesRequest) => void;
        getContent: (data: IGetContentRequest) => void;
    }
    class ExplorerService implements IExplorerService {
        getExplorer(data: IGetExplorerRequest): void;
        getExplorerNodes(data: IGetExplorerNodesRequest): void;
        getContent(data: IGetContentRequest): void;
    }
}
declare namespace PDJS.Services.Files {
    interface IDownloadMultipleFilesRequest extends IServiceRequestMessageOf<IDownloadMultipleFilesResponse> {
        ids: Array<number>;
    }
    interface IDownloadMultipleFilesZipRequest extends IServiceRequestMessageOf<IDownloadMultipleFilesZipResponse> {
        path: string;
    }
    interface IGetFileInfoRequest extends IServiceRequestMessageOf<IGetFileInfoResponse> {
        fileIds: Array<number>;
    }
    interface IFileLoadRequest extends IServiceRequestMessageOf<IFileLoadResponse> {
        fileIds: Array<number>;
    }
    interface IMoveFilesRequest extends IServiceRequestMessageOf<IMoveFilesResponse> {
        fileIds: Array<number>;
        folderId: number;
    }
    interface IReplaceFileRequest extends IServiceRequestMessageOf<IReplaceFileResponse> {
        fileId: number;
        uploadName: string;
        uploadId: string;
    }
    interface IDownloadMultipleFilesResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IDownloadMultipleFilesZipResponse extends IServiceResponseMessage {
    }
    interface IGetFileInfoResponse extends IServiceResponseMessage, Array<Core.Files.IFileInfo> {
    }
    interface IFileLoadResponse extends IServiceResponseMessage, Array<Core.Files.IFile> {
    }
    interface IReplaceFileResponse extends IServiceResponseMessage {
    }
    interface IMoveFilesResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IFileService {
        downloadMultipleFiles(data: IDownloadMultipleFilesRequest): void;
        downloadMultipleFilesZip(data: IDownloadMultipleFilesZipRequest): void;
        load: (data: IFileLoadRequest) => void;
        getFileInfo: (data: IGetFileInfoRequest) => void;
        replaceFile: (data: IReplaceFileRequest) => void;
        moveFiles(data: IMoveFilesRequest): void;
    }
    class FileService implements IFileService {
        downloadMultipleFiles(data: IDownloadMultipleFilesRequest): void;
        downloadMultipleFilesZip(data: IDownloadMultipleFilesZipRequest): void;
        load(data: IFileLoadRequest): void;
        getFileInfo(data: IGetFileInfoRequest): void;
        moveFiles(data: IMoveFilesRequest): void;
        replaceFile(data: IReplaceFileRequest): void;
    }
}
declare namespace PDJS.Services.Jobs {
    interface IDeleteEntryRequest extends IServiceRequestMessageOf<IIndexResponse> {
        scope: number;
    }
    interface IDeleteEntryResponse extends IServiceResponseMessage {
    }
    interface IJobsLogService {
        index(data: IIndexRequest): void;
        delete(data: IDeleteEntryRequest): void;
    }
    class JobsLogService implements IJobsLogService {
        index(data: IIndexRequest): void;
        delete(data: IDeleteEntryRequest): void;
    }
}
declare namespace PDJS.Services.Jobs {
    interface IJobHistoryUIO {
        eventId: string;
        status: string;
        icon: string;
        dateStarted: string;
    }
    interface IDeleteJobsRequest extends IServiceRequestMessageOf<IDeleteJobsResponse> {
        ids: Array<string>;
    }
    interface IExecuteJobRequest extends IServiceRequestMessageOf<IExecuteJobResponse> {
        id: string;
    }
    interface IGetJobInfoRequest extends IServiceRequestMessageOf<IGetJobInfoResponse> {
        id: string;
    }
    interface IIndexRequest extends IServiceRequestMessageOf<IIndexResponse> {
    }
    interface IDeleteJobsResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IExecuteJobResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IGetJobInfoResponse extends IServiceResponseMessage {
        history: Array<IJobHistoryUIO>;
        triggers: Array<string>;
    }
    interface IIndexResponse extends IServiceResponseMessage {
        viewStateId: string;
    }
    interface IJobService {
        deleteJobs(data: IDeleteJobsRequest): void;
        executeJob(data: IExecuteJobRequest): void;
        getJobInfo(data: IGetJobInfoRequest): void;
        index(data: IIndexRequest): void;
    }
    class JobService implements IJobService {
        deleteJobs(data: IDeleteJobsRequest): void;
        executeJob(data: IExecuteJobRequest): void;
        getJobInfo(data: IGetJobInfoRequest): void;
        index(data: IIndexRequest): void;
    }
}
declare namespace PDJS.Services.Manage.EntityTypes {
    interface IGetTreeRequest extends IServiceRequestMessageOf<IGetTreeResponse> {
        entityTypeId: number;
        folderId?: number;
    }
    interface IGetTreeResponse extends IServiceResponseMessage, Core.EntityTypes.ExplorerModel.INodeBase {
    }
    interface IDeleteNodeRequest extends IServiceRequestMessageOf<IDeleteNodeResponse> {
        nodeId?: number;
    }
    interface IDeleteNodeResponse extends IServiceResponseMessage {
    }
    interface IMoveNodeRequest extends IServiceRequestMessageOf<IMoveNodeResponse> {
        sourceId: number;
        destinationId: number;
        dropType: number;
    }
    interface IMoveNodeResponse extends IServiceResponseMessage {
    }
    interface IExplorerModelService {
        getTree: (data: IGetTreeRequest) => void;
        deleteNode: (data: IDeleteNodeRequest) => void;
        moveNode: (data: IMoveNodeRequest) => void;
    }
    class ExplorerModelService implements IExplorerModelService {
        getTree(data: IGetTreeRequest): void;
        deleteNode(data: IDeleteNodeRequest): void;
        moveNode(data: IMoveNodeRequest): void;
    }
}
declare namespace PDJS.Services.Manage.Process {
    interface IAddNodeRequest extends IServiceRequestMessageOf<IAddNodeResponse> {
        node: PDJS.Core.Process.IProcessNode;
    }
    interface IAddNodeResponse extends IServiceResponseMessage, PDJS.Core.Process.IProcessNode {
    }
    interface IDeleteNodeRequest extends IServiceRequestMessageOf<IDeleteNodeResponse> {
        node: PDJS.Core.Process.IProcessNode;
    }
    interface IDeleteNodeResponse extends IServiceResponseMessage {
    }
    interface IMoveNodeRequest extends IServiceRequestMessageOf<IMoveNodeResponse> {
        srcId: number;
        dstId: number;
        dropType: number;
    }
    interface IMoveNodeResponse extends IServiceResponseMessage, Core.Process.IProcessNode {
    }
    interface IProcessNodeService {
        addNode: (data: IAddNodeRequest) => void;
        deleteNode: (data: IDeleteNodeRequest) => void;
        moveNode: (data: IMoveNodeRequest) => void;
    }
    class ProcessNodeService implements IProcessNodeService {
        addNode(data: IAddNodeRequest): void;
        deleteNode(data: IDeleteNodeRequest): void;
        moveNode(data: IMoveNodeRequest): void;
    }
}
declare namespace PDJS.Services.Manage.Process {
    interface IDeleteProcessRequest extends IServiceRequestMessageOf<IDeleteProcessResponse> {
        id: number;
    }
    interface IDeleteProcessResponse extends IServiceResponseMessage {
    }
    interface IGetStageListRequest extends IServiceRequestMessageOf<IGetStageListResponse> {
        processId: number;
    }
    interface IGetStageListResponse extends IServiceResponseMessage, Array<PDJS.Core.Process.IStageListItem> {
    }
    interface IGetStatusListRequest extends IServiceRequestMessageOf<IGetStatusListResponse> {
        processId: number;
        includeInUse?: boolean;
        searchTerm?: string;
    }
    interface IGetStatusListResponse extends IServiceResponseMessage, Array<PDJS.Core.Process.IProcessStatus> {
    }
    interface IGetTreeRequest extends IServiceRequestMessageOf<IGetTreeResponse> {
        processId: number;
    }
    interface IGetTreeResponse extends IServiceResponseMessage, Core.Process.IProcessNode {
    }
    interface IProcessService {
        deleteProcess: (data: IDeleteProcessRequest) => void;
        getStageList: (data: IGetStageListRequest) => void;
        getStatusList: (data: IGetStatusListRequest) => void;
        getTree: (data: IGetTreeRequest) => void;
    }
    class ProcessService implements IProcessService {
        deleteProcess(data: IDeleteProcessRequest): void;
        getStageList(data: IGetStageListRequest): void;
        getStatusList(data: IGetStatusListRequest): void;
        getTree(data: IGetTreeRequest): void;
    }
}
declare namespace PDJS.Services.Process {
    interface IGetProcessesRequest extends IServiceRequestMessageOf<IGetProcessesResponse> {
        entityTypeId: number;
    }
    interface IGetProcessesResponse extends IServiceResponseMessage, Array<PDJS.Core.Process.IProcess> {
    }
    interface IGetKeysRequest extends IServiceRequestMessageOf<IGetKeysResponse> {
        processId: number;
    }
    interface IGetKeysResponse extends IServiceResponseMessage, Array<PDJS.Core.Process.IProcessNode> {
    }
    interface IGetStagesRequest extends IServiceRequestMessageOf<IGetStagesResponse> {
        keyId: number;
    }
    interface IGetStagesResponse extends IServiceResponseMessage, Array<PDJS.Core.Process.IProcessNode> {
    }
    interface IExecuteDecisionRequest extends IServiceRequestMessageOf<IExecuteDecisionResponse> {
        entityId: number;
        decisionId: number;
    }
    interface IExecuteDecisionResponse extends PDJS.Services.Canvas.IScriptResponse {
    }
    interface IProcessService {
        executeDecision: (data: IExecuteDecisionRequest) => void;
        getKeys: (data: IGetKeysRequest) => void;
        getProcesses: (data: IGetProcessesRequest) => void;
        getStages: (data: IGetStagesRequest) => void;
    }
    class ProcessService implements IProcessService {
        executeDecision(data: IExecuteDecisionRequest): void;
        getKeys(data: IGetKeysRequest): void;
        getProcesses(data: IGetProcessesRequest): void;
        getStages(data: IGetStagesRequest): void;
    }
}
declare namespace PDJS.Services.Process {
    interface IListRequest extends IServiceRequestMessageOf<IListResponse> {
        request: {
            processId: number;
            includeInUse?: boolean;
            keyword?: string;
        };
    }
    interface IListResponse extends IServiceResponseMessage, Array<Core.Process.IProcessStatus> {
    }
    interface IProcessStatusService {
        list: (data: IListRequest) => void;
    }
    class ProcessStatusService implements IProcessStatusService {
        list(data: IListRequest): void;
    }
}
declare namespace PDJS.Services.Resources {
    enum DuplicateFileMode {
        Fail = 0,
        Skip = 1,
        Replace = 2
    }
    interface IAddFileRequest extends IServiceRequestMessageOf<IAddFileResponse> {
        folderId: string;
        uploadId: string;
        file: Core.Upload.IUploadedFile;
        fileMode: any;
    }
    interface IAddFilesRequest extends IServiceRequestMessageOf<IAddFilesResponse> {
        folderId: string;
        files: Array<Core.Upload.IUploadedFile>;
        onFileSaveSuccess?: (e: Core.Upload.IUploadedFile) => void;
        onFileSaveFailure?: (e: Core.Upload.IUploadedFile) => void;
    }
    interface IAddPackageRequest extends IServiceRequestMessageOf<IAddPackageResponse> {
        fileName: string;
        folderId: string;
        uploadId: string;
    }
    interface IDeleteResourcesRequest extends IServiceRequestMessageOf<IDeleteResourcesResponse> {
        ids: Array<string>;
    }
    interface IGetFolderPathRequest extends IServiceRequestMessageOf<IGetFolderPathResponse> {
        folderId: string;
    }
    interface IGetIndexRequest extends IServiceRequestMessageOf<IGetIndexResponse> {
    }
    interface IGetTreeNodesRequest extends IServiceRequestMessageOf<IGetTreeNodesResponse> {
        folderId?: string;
        expanded: Array<string>;
    }
    interface IGetPackageRequest extends IServiceRequestMessageOf<IGetPackageResponse> {
        folderId: string;
        resourceIds: Array<string>;
    }
    interface ILoadTextFileRequest extends IServiceRequestMessageOf<ILoadTextFileResponse> {
        fileId: string;
    }
    interface IMoveResourcesRequest extends IServiceRequestMessageOf<IMoveResourcesResponse> {
        destinationId: string;
        sourceIds: Array<string>;
    }
    interface IAddTextFileRequest extends IServiceRequestMessageOf<IAddTextFileResponse> {
        folderId: string;
        name: string;
        content: string;
        fileMode: DuplicateFileMode;
    }
    interface ISaveTextFileRequest extends IServiceRequestMessageOf<ISaveTextFileResponse> {
        fileId: string;
        content: string;
    }
    interface IAddFileResponse extends IServiceResponseMessage {
        id: string;
        uploadId: string;
    }
    interface IAddFilesResponse extends IServiceResponseMessage {
        ids: Array<string>;
    }
    interface IAddPackageResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IDeleteResourcesResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IGetFolderPathResponse extends IServiceResponseMessage, Array<PDJS.Core.Resources.IResource> {
    }
    interface IGetIndexResponse extends IServiceResponseMessage {
        viewStateId: string;
        nodes: Array<PDJS.Core.Resources.IResourceTreeNode>;
    }
    interface IGetPackageResponse extends IServiceResponseMessage, PDJS.Core.Utilities.ITaskStart {
    }
    interface IGetTreeNodesResponse extends IServiceResponseMessage, Core.Resources.IResourceTreeNode {
    }
    interface ILoadTextFileResponse extends IServiceResponseMessage {
        content: string;
        folderId: string;
        folderPath: string;
        id: string;
        mimeType: string;
        name: string;
    }
    interface IMoveResourcesResponse extends IServiceResponseMessage {
    }
    interface IAddTextFileResponse extends IServiceResponseMessage {
        id: string;
        name: string;
        folderPath: string;
    }
    interface ISaveTextFileResponse extends IServiceResponseMessage {
    }
    interface IResourcesService {
        addFile(data: IAddFileRequest): void;
        addFiles(data: IAddFilesRequest): void;
        addPackage(data: IAddPackageRequest): void;
        deleteResources(data: IDeleteResourcesRequest): void;
        getFolderPath(data: IGetFolderPathRequest): void;
        getIndex(data: IGetIndexRequest): void;
        getPackage(data: IGetPackageRequest): void;
        getTreeNodes(data: IGetTreeNodesRequest): void;
        loadTextFile(data: ILoadTextFileRequest): void;
        moveResources(data: IMoveResourcesRequest): void;
        addTextFile(data: IAddTextFileRequest): void;
        saveTextFile(data: ISaveTextFileRequest): void;
    }
    class ResourcesService implements IResourcesService {
        addFiles(data: IAddFilesRequest): void;
        addFile(data: IAddFileRequest): void;
        addPackage(data: IAddPackageRequest): void;
        deleteResources(data: IDeleteResourcesRequest): void;
        getFolderPath(data: IGetFolderPathRequest): void;
        getIndex(data: IGetIndexRequest): void;
        getTreeNodes(data: IGetTreeNodesRequest): void;
        getPackage(data: IGetPackageRequest): void;
        loadTextFile(data: ILoadTextFileRequest): void;
        saveTextFile(data: ISaveTextFileRequest): void;
        moveResources(data: IMoveResourcesRequest): void;
        addTextFile(data: IAddTextFileRequest): void;
    }
}
declare namespace PDJS.Services.Security {
    interface ISyncDeleteRequest extends IServiceRequestMessageOf<ISyncDeleteResponse> {
        ids: Array<string>;
        confirmed: boolean;
    }
    interface ISyncDeleteResponse extends IServiceResponseMessage {
        requiresConfirmation: boolean;
    }
    interface IActiveDirectoryService {
        delete: (data: ISyncDeleteRequest) => void;
    }
    class ActiveDirectoryService implements IActiveDirectoryService {
        delete(data: ISyncDeleteRequest): void;
    }
}
declare namespace PDJS.Services.System {
    export interface IIconService {
        search(data: IIconSearchRequest): void;
    }
    export interface IIconSearchRequest extends IServiceRequestMessageOf<IIconSearchResponse> {
        term: string;
    }
    interface IIconSearchResult {
        name: string;
        icon: string;
    }
    export interface IIconSearchResponse extends IServiceResponseMessage {
        data: Array<IIconSearchResult>;
        totalCount: number;
    }
    export class IconService implements IIconService {
        search(data: IIconSearchRequest): void;
    }
    export {};
}
declare namespace PDJS.Services.Tags {
    interface IFolderExpressionAssignment {
        folderId: number;
        expressionId: string;
    }
    interface IFolderExpression {
        folderId: number;
        parentId: number;
        folderIcon: string;
        folderName: string;
        isTab: boolean;
        hasChildren: boolean;
        expressionId: string;
        expressionName: string;
    }
    interface IExpressionDeleteRequest extends IServiceRequestMessageOf<IExpressionDeleteResponse> {
        ids: Array<string>;
        confirmed: false;
    }
    interface IExpressionDeleteResponse extends IServiceResponseMessage {
        requiresConfirmation: boolean;
    }
    interface IGetFolderExpressionsRequest extends IServiceRequestMessageOf<IGetFolderExpressionsResponse> {
        entityTypeId: number;
        folderId: number;
    }
    interface IGetFolderExpressionsResponse extends IServiceResponseMessage, Array<IFolderExpressionAssignment> {
    }
    interface ISetFolderExpressionsRequest extends IServiceRequestMessageOf<IGetFolderExpressionsResponse> {
        assignments: Array<IFolderExpressionAssignment>;
    }
    interface ISetFolderExpressionsResponse extends IServiceResponseMessage {
    }
    interface IExpressionService {
        delete: (data: IExpressionDeleteRequest) => void;
        getFolderExpressions(data: IGetFolderExpressionsRequest): void;
        setFolderExpressions(data: ISetFolderExpressionsRequest): void;
    }
    class ExpressionService implements IExpressionService {
        delete(data: IExpressionDeleteRequest): void;
        getFolderExpressions(data: IGetFolderExpressionsRequest): void;
        setFolderExpressions(data: ISetFolderExpressionsRequest): void;
    }
}
declare namespace PDJS.Services.Tags {
    interface ITagDeleteRequest extends IServiceRequestMessageOf<ITagDeleteResponse> {
        ids: Array<string>;
        confirmed: false;
    }
    interface ITagDeleteResponse extends IServiceResponseMessage {
        requiresConfirmation: boolean;
    }
    interface ITagService {
        delete: (data: ITagDeleteRequest) => void;
    }
    class TagService implements ITagService {
        delete(data: ITagDeleteRequest): void;
    }
}
declare namespace PDJS.Services.Utilities {
    enum DuplicateFileMode {
        Fail = 0,
        Skip = 1,
        Replace = 2
    }
    interface ITaskNotifyRequest extends IServiceRequestMessageOf<ITaskNotifyResponse> {
        reply: {
            taskId: string;
            tags: {
                [key: string]: any;
            };
        };
    }
    interface ITaskPollRequest extends IServiceRequestMessageOf<ITaskPollResponse> {
        url: string;
    }
    interface ITaskNotifyResponse extends IServiceResponseMessage {
    }
    interface ITaskPollResponse extends IServiceResponseMessage {
        alert: any;
        complete: boolean;
        failed: boolean;
        lastAction: string;
        messages: Array<any>;
        percentComplete: number;
        tags: {
            [key: string]: any;
        };
    }
    interface ITaskService {
        taskNotify: (data: ITaskNotifyRequest) => void;
        taskPoll: (data: ITaskPollRequest) => void;
    }
    class TaskService {
        taskPoll(data: ITaskPollRequest): void;
        taskNotify(data: ITaskNotifyRequest): void;
    }
}
declare namespace PDJS.Services.Views {
    enum BuiltInViews {
        APP_SETTINGS = "appSettings",
        BUILTIN_VIEWS = "builtInViews",
        DATA_LOADER_JOBS = "dataLoaderJobs",
        DOCUMENT_TYPES = "docTypes",
        DOCUMENT_TYPE_ASSIGNMENT = "docTypeAssignment",
        DOCUMENT_TYPE_SELECTION = "docTypeSelection",
        ENTITY_SECURITY = "entitySecurity",
        ENTITY_TYPE_SECURITY = "entTypeSecurity",
        ENTITY_TYPES = "entityTypes",
        EVENT_LOG = "eventLog",
        EXPRESSION_SELECTION = "expressionSelection",
        EXPRESSIONS = "expressions",
        EXTENSION_COLUMNS = "extensionColumns",
        EXTENSIONS = "extensions",
        EXTENSIONS_ALL = "extensionsAll",
        FORM_FIELD_SELECTION = "rormFieldSelection",
        GLOBAL_SEARCH = "entitySearch",
        GROUP_MEMBERS = "groupMembers",
        GROUP_USERS = "groupUsers",
        GROUPS = "groups",
        IDENTITY_SELECTION = "identitySearch",
        LICENSES = "licenses",
        MAIL_QUEUE = "mailQueue",
        PARENT_SELECTION = "parentSelection",
        PLUGINS = "plugins",
        PROCESSES = "processes",
        RECYCLE_BIN = "recycleBin",
        REPORTS = "reports",
        RESOURCES = "resources",
        RULES = "ruleScripts",
        SEARCH_GROUP_COLUMN_SELECTION = "searchColumnSelection",
        SEARCH_GROUP_ITEMS = "searchGroupItems",
        SEARCH_GROUPS = "searchGroups",
        SELECTION_LISTS = "selectionLists",
        SELECTION_LISTS_ALL = "selectionListsAll",
        TAG_SELECTION = "tagSelection",
        TAGS = "tags",
        USER_GROUPS = "userGroups",
        USERS = "users",
        VIEW_PUBLISHER = "viewPublisher"
    }
    interface IGetViewStateIdRequest extends IServiceRequestMessageOf<IGetViewStateIdResponse> {
        viewCustomId?: BuiltInViews;
    }
    interface IGetViewStateIdResponse extends IServiceResponseMessage {
        viewStateId: string;
    }
    interface IGetViewStateIdsRequest extends IServiceRequestMessageOf<IGetViewStateIdsResponse> {
    }
    interface IGetViewStateIdsResponse extends IServiceResponseMessage {
        [key: string]: string;
    }
    interface IGetViewStateRequest extends IServiceRequestMessageOf<IGetViewStateResponse> {
        viewStateId: string;
    }
    interface IGetViewStateResponse extends IServiceResponseMessage {
        state: string;
    }
    interface ISetViewStateRequest extends IServiceRequestMessageOf<ISetViewStateResponse> {
        viewStateId: string;
        state: string;
    }
    interface ISetViewStateResponse extends IServiceResponseMessage {
    }
    interface IViewService {
        getViewStateId: (data: IGetViewStateIdRequest) => void;
        getViewStateIds: (data?: IGetViewStateIdsRequest) => void;
        getViewState: (data: IGetViewStateRequest) => void;
        setViewState: (data?: ISetViewStateRequest) => void;
    }
    class ViewService implements IViewService {
        private static cachedViewStateIds;
        getViewStateId(data: IGetViewStateIdRequest): void;
        getViewStateIds(data?: IGetViewStateIdsRequest): void;
        getViewState(data: IGetViewStateRequest): void;
        setViewState(data: ISetViewStateRequest): void;
    }
}
declare namespace PDJS.Shared {
    class DataTags {
        static containsTags(text: string): boolean;
        static format(text: string): string;
    }
}
declare namespace PDJS.Shared {
    interface IDownloadArgs {
        url: string;
        params?: {
            [key: string]: any;
        };
        iframeId?: string;
    }
    interface IDownloadWithProgressArgs extends IDownloadArgs {
        name?: string;
    }
    class Downloader {
        static downloadWithProgress(args: IDownloadWithProgressArgs): void;
        static download(args: IDownloadArgs): void;
        private static getFrame;
        private static getUrl;
    }
}
declare namespace PDJS.Shared {
    interface IEnvironmentUser {
        id: number;
        accountName: string;
        displayName: string;
        isAdmin: boolean;
    }
    interface IEnvironmentUserMenu {
        entityTypes: Array<IEnvironmentUserMenuEntityType>;
        isNewAdminsOnly: boolean;
        recentEntities: Array<IEnvironmentUserMenuRecentItem>;
        recentViews: Array<IEnvironmentUserMenuRecentItem>;
        supportUrl: string;
        views: Array<any>;
    }
    interface IEnvironmentUserMenuEntityType {
        id: number;
        customId: string;
        icon: string;
        name: string;
        description: string;
        isShortcut: boolean;
    }
    interface IEnvironmentUserMenuRecentItem {
        id: number;
        name: string;
        description: string;
    }
    interface IEnvironmentTheme {
        backgroundColor: string;
        textColor: string;
    }
    interface IEnvironment {
        applicationId?: string;
        applicationName?: string;
        applicationUrl?: string;
        authenticationMode?: number;
        entityTemplateId?: number;
        isLocalAuth?: boolean;
        virtualDirectory?: string;
        user: IEnvironmentUser;
    }
    interface IEnvironmentOptions {
        environment?: IEnvironment;
        preferences?: PDJS.Shared.Personalization.IPreferences;
        theme: IEnvironmentTheme;
        user: IEnvironmentUser;
        userMenu: IEnvironmentUserMenu;
    }
    class Environment {
        private static m_instance;
        private m_state;
        private m_preferences;
        private constructor();
        static get current(): Environment;
        protected get state(): Jade.StateBag;
        get applicationId(): string;
        get applicationName(): string;
        get applicationUrl(): string;
        get authenticationMode(): number;
        get entityTemplateId(): number;
        get isLocalAuthMode(): boolean;
        get virtualDirectory(): string;
        get user(): IEnvironmentUser;
        get userMenu(): IEnvironmentUserMenu;
        get theme(): IEnvironmentTheme;
        get preferences(): PDJS.Shared.Personalization.Preferences;
        load(options: IEnvironmentOptions): void;
        protected onStateChanged(e: any): void;
        private static ensureInstance;
    }
}
declare namespace PDJS.Shared {
    class MessageStack {
        private static m_instance;
        private constructor();
        get defaults(): ToastrOptions;
        static get instance(): MessageStack;
        error(message: string, options?: ToastrOptions): JQuery;
        warning(message: string, options?: ToastrOptions): JQuery;
        success(message: string, options?: ToastrOptions): JQuery;
        info(message: string, options?: ToastrOptions): JQuery;
        exception(message: string, options?: ToastrOptions): JQuery;
        private configureToastr;
    }
}
declare namespace PDJS.Shared {
    class ScrollIntoView {
        static scroll(parent: HTMLElement, child: HTMLElement): void;
        private static scrollTo;
        private static easeInOutQuad;
    }
}
declare namespace PDJS.Shared {
    class SessionState {
        static readonly SESSION_EXPIRED_EVENT: string;
        static readonly SESSION_RESUME_EVENT: string;
        private static m_instance;
        private m_intervalId;
        private m_expired;
        constructor();
        static get interval(): number;
        private get expires();
        private get isCurrentlyExpired();
        private set isCurrentlyExpired(value);
        get isMonitoring(): boolean;
        static get instance(): SessionState;
        init(): void;
        resetMonitor(reload?: boolean): void;
        private triggerSessionExpiration;
        private triggerSessionResume;
        private startMonitor;
        private hasReachedExpiration;
        private getCookie;
        private expireLastRequestCookie;
    }
}
declare namespace PDJS.Shared {
    interface ITaskStatusDialogResult {
    }
    interface ITaskStatusDialogOptions {
        title?: string;
        pollUrl?: string;
        pollFrequency?: number;
        taskComplete?: (e: ITaskStatusDialogEventArgs) => void;
        taskError?: (e: ITaskStatusDialogEventArgs) => void;
        taskStart?: (e: ITaskStatusDialogEventArgs) => void;
        taskSuccess?: (e: ITaskStatusDialogEventArgs) => void;
        showDetail?: boolean;
        allowClose?: boolean;
        enableClose?: boolean;
        autoCloseOnSuccess?: boolean;
        close?: (e: ITaskStatusDialogEventArgs) => void;
    }
    class TaskStatusDialog extends Jade.UI.Dialog {
        private m_alertMonitor;
        private m_bar;
        private m_copy;
        private m_log;
        private m_marquee;
        private m_output;
        private m_statusMonitor;
        constructor(options: ITaskStatusDialogOptions, windowOptions?: any);
        private get alertMonitor();
        private set alertMonitor(value);
        private get allowClose();
        private get autoCloseOnSuccess();
        private get bar();
        private set bar(value);
        private get cancelButtonNode();
        private get closeButtonNode();
        private get closeCallback();
        private get hasCloseCallback();
        private get enableClose();
        private get hasTaskCancelCallback();
        private get hasTaskStartCallback();
        private get log();
        private set log(value);
        private get marquee();
        private set marquee(value);
        private get pollFrequency();
        private get output();
        private set output(value);
        private get statusMonitor();
        private set statusMonitor(value);
        private get showDetail();
        private get taskCompleteCallback();
        private get taskStartCallback();
        private get taskSuccessCallback();
        private get taskErrorCallback();
        private get toggle();
        private set toggle(value);
        complete(status: string, tags: any): void;
        enableCloseButton(enabled: boolean): void;
        fatalError(message?: string): void;
        template(): string;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private alertMonitor_init;
        private bar_init;
        private createEventArgs;
        private deck_init;
        private executeInParentContext;
        private log_init;
        private marquee_init;
        private statusMonitor_init;
        private setDialogParameters;
        private start;
        private onTaskSuccess;
        static open(options: ITaskStatusDialogOptions): TaskStatusDialog;
    }
}
declare namespace PDJS.Shared {
    interface ITaskStatusStartPollingArgs {
        taskId: string;
        alerts: Array<ITaskAlert>;
    }
    interface ITaskStatusDialogEventArgs {
        abort(response: Services.IServiceResponse): void;
        abort(messages: Array<any>): void;
        abort(message: string): void;
        addDetailMessage(level: ITaskStatusLevel, message: string, indent?: number): void;
        close(options?: any): void;
        complete(message: string): void;
        destroyContext(): void;
        enableClose(enabled: boolean): void;
        executeInDialogContext(fn: Function): void;
        executeInParentContext(fn: Function): void;
        output: any;
        startPolling(e: PDJS.Core.Utilities.ITaskStart): any;
    }
    interface ITaskStatusDialogEventArgsOptions extends Core.IModelOptions {
        alertMonitor: TaskAlertMonitor;
        close: (options: any) => void;
        closeButton: JQuery;
        complete: (message: string) => void;
        context: Jade.Context;
        fatalError: (message?: string) => void;
        log: TaskStatusLog;
        output: any;
        statusMonitor: TaskStatusMonitor;
        window: Jade.UI.Window;
    }
    class TaskStatusDialogEventArgs extends PDJS.Core.Model implements ITaskStatusDialogEventArgs {
        private m_context;
        constructor(options: ITaskStatusDialogEventArgsOptions);
        private get alertMonitor();
        private get closeButton();
        private get closeCallback();
        private get completeCallback();
        get context(): Jade.Context;
        private get fatalErrorCallback();
        private get log();
        get output(): any;
        private get statusMonitor();
        private get window();
        addDetailMessage(level: ITaskStatusLevel, message: string, indent?: number): void;
        abort(response: Services.IServiceResponse): void;
        abort(message: string): void;
        abort(messages: Array<any>): void;
        close(options?: any): void;
        complete(message: string): void;
        destroyContext(): void;
        enableClose(enabled: boolean): void;
        executeInParentContext(fn: Function): void;
        executeInDialogContext(fn: Function): void;
        startPolling(e: PDJS.Core.Utilities.ITaskStart): any;
    }
}
declare namespace PDJS.Shared {
    interface IAlertTypeRegister {
        [key: number]: any;
    }
    class TaskAlertMonitor extends PDJS.Core.Model {
        private m_taskService;
        private m_register;
        private m_activeDialog;
        constructor();
        private get activeDialog();
        private set activeDialog(value);
        private get register();
        private get taskService();
        handleAlert(taskId: string, alert: ITaskAlert): void;
        raiseAlert(taskId: string, alert: ITaskAlert): void;
        registerAlertTypes(alerts: Core.Utilities.IAlertTypeDictionary): void;
        private sendAlertResponse;
    }
}
declare namespace PDJS.Shared {
    type BarStatus = "error" | "success";
    interface ITaskStatusBarOptions extends Jade.UI.IControlOptions {
    }
    class TaskStatusBar extends Jade.UI.Control {
        private m_bar;
        constructor(options: ITaskStatusBarOptions);
        private get bar();
        private set bar(value);
        template(): string;
        update(percent: number, status?: BarStatus): void;
        protected onActivate(e: any): void;
        private progressBar_init;
    }
}
declare namespace PDJS.Shared {
    enum ITaskStatusLevel {
        default = 0,
        warning = 1,
        error = 2
    }
    interface ITaskStatusMessage {
        level: ITaskStatusLevel;
        message: string;
        subMessages?: Array<ITaskStatusMessage>;
    }
    interface ITaskStatusLogOptions extends Jade.UI.IControlOptions {
    }
    class TaskStatusLog extends Jade.UI.Control {
        private m_messages;
        private m_bulletPath;
        constructor(options: any);
        get visible(): boolean;
        get messages(): Array<ITaskStatusMessage>;
        addMessage(level: ITaskStatusLevel, message: string, indent?: number): void;
        addMessages(messages: Array<ITaskStatusMessage>, indent?: number): void;
        hide(): void;
        show(): void;
        template(): string;
        copyToClipboard(): void;
        hasWarnings(): boolean;
        hasErrors(): boolean;
    }
}
declare namespace PDJS.Shared {
    interface ITaskStatusLogCopyOptions extends Jade.UI.IControlOptions {
        click: () => void;
    }
    class TaskStatusLogCopy extends Jade.UI.Control {
        constructor(options: ITaskStatusLogCopyOptions);
        private get clickCallback();
        private set clickCallback(value);
        private get imageNode();
        template(): string;
        protected onActivate(e: any): void;
    }
}
declare namespace PDJS.Shared {
    interface ITaskStatusLogToggleOptions extends Jade.UI.IControlOptions {
        toggled: boolean;
        toggle: (toggled: boolean) => void;
    }
    class TaskStatusLogToggle extends Jade.UI.Control {
        constructor(options: ITaskStatusLogToggleOptions);
        private get toggled();
        private set toggled(value);
        private get toggleCallback();
        private get imageNode();
        template(): string;
        protected onActivate(e: any): void;
        protected onStateChanged(): void;
        private toggleIcon;
        private setToggledAttribute;
    }
}
declare namespace PDJS.Shared {
    type MarqueeStatus = "error" | "success" | "pending";
    interface ITaskStatusMarqueeOptions extends Jade.UI.IControlOptions {
    }
    class TaskStatusMarquee extends Jade.UI.Control {
        constructor(options: ITaskStatusMarqueeOptions);
        private get message();
        private set message(value);
        private get messageNode();
        private get statusNode();
        private get imgNode();
        template(): string;
        update(message: string, status: MarqueeStatus): void;
        updateStatus(status: MarqueeStatus): void;
        updateMessage(message: string): void;
    }
}
declare namespace PDJS.Shared {
    interface ITaskStatusMonitorOptions {
        pollUrl?: string;
        frequency?: number;
        error?: (message: string) => void;
        success?: (e: Services.IServiceResponseOf<Services.Utilities.ITaskPollResponse>) => void;
    }
    class TaskStatusMonitor extends PDJS.Core.Model {
        private m_taskService;
        constructor(options: ITaskStatusMonitorOptions);
        private get errorCallback();
        private get frequency();
        private get pollUrl();
        private get successCallback();
        get taskId(): string;
        set taskId(value: string);
        private get taskService();
        poll(taskId: string, frequency?: number): void;
        private poll_onError;
        private poll_onSuccess;
    }
}
declare namespace PDJS.Shared.Actions {
    interface IActionDefinitionOptions {
        id: string;
        name: string;
        pluginId?: string;
        description: string;
        targetArbiter?: string;
        targetType: string;
        parameters: Array<PDJS.Core.Actions.IActionParameterDefinition>;
        execute?: (e: any) => void;
    }
    class ActionDefinition {
        private m_plugin;
        private m_pluginId;
        private m_parameters;
        private m_options;
        constructor(options: IActionDefinitionOptions);
        protected get options(): IActionDefinitionOptions;
        get id(): string;
        get name(): string;
        get description(): string;
        get targetArbiter(): string;
        get targetType(): string;
        get parameters(): Array<ActionParameterDefinition>;
        set parameters(value: Array<ActionParameterDefinition>);
        get pluginId(): string;
        set pluginId(value: string);
        get plugin(): PDJS.Shared.Plugins.Plugin;
        get executeCallback(): (e: any) => void;
        execute(args: any): any;
        getFullName(): string;
        toJSON(data?: any): PDJS.Core.Actions.IActionDefinition;
        toAction(params: Array<IActionParameterOptions>): Action;
        protected convertToParameters<T extends PDJS.Core.Actions.IActionParameterDefinition>(params: Array<PDJS.Core.Actions.IActionParameterDefinition>, fn: (item: PDJS.Core.Actions.IActionParameterDefinition) => any): void;
        private ensurePlugin;
        static getDefinition(pluginId: string, actionId: string): ActionDefinition;
    }
}
declare namespace PDJS.Shared.Actions {
    interface IActionOptions extends IActionDefinitionOptions {
    }
    class Action extends ActionDefinition {
        protected get options(): IActionOptions;
        protected get definition(): ActionDefinition;
        constructor(options: IActionOptions);
        static invoke(json: PDJS.Core.Actions.IAction): Function;
        static getAction(actionId: string, pluginId: string, params?: Array<IActionParameterOptions>): Action;
    }
}
declare namespace PDJS.Shared.Actions {
    interface IActionManagerOptions {
        pluginId: string;
    }
    interface IActionDefinitionDictionary {
        [key: string]: ActionDefinition;
    }
    class ActionManager {
        private m_actions;
        private m_options;
        constructor(options: IActionManagerOptions);
        private get actions();
        get hasActions(): boolean;
        private get pluginId();
        getActionDefinitions(): IActionDefinitionDictionary;
        addActionDefinition(action: ActionDefinition): void;
        removeActionDefinition(action: ActionDefinition | string): void;
        getActionDefinitionById(id: string): ActionDefinition;
    }
}
declare namespace PDJS.Shared.Actions {
    interface IActionParameterDefinitionOptions {
        id: string;
        type: PDJS.Core.Actions.ActionParameterType;
    }
    class ActionParameterDefinition {
        m_options: IActionParameterDefinitionOptions;
        constructor(options: IActionParameterDefinitionOptions);
        protected get options(): IActionParameterDefinitionOptions;
        get id(): string;
        get type(): PDJS.Core.Actions.ActionParameterType;
        toJSON(data?: any): PDJS.Core.Actions.IActionParameterDefinition;
        toParameter(text: string, value: any): ActionParameter;
    }
}
declare namespace PDJS.Shared.Actions {
    interface IActionParameterOptions extends IActionParameterDefinitionOptions {
        text: string;
        value: any;
    }
    class ActionParameter extends ActionParameterDefinition {
        m_options: IActionParameterOptions;
        constructor(options: IActionParameterOptions);
        protected get options(): IActionParameterOptions;
        get text(): string;
        get value(): PDJS.Core.Actions.ActionParameterType;
        toJSON(): PDJS.Core.Actions.IActionParameterDefinition;
    }
}
declare namespace PDJS.Shared.Dialogs {
    interface IIconBrowserDialogResult {
        value: string;
    }
    class IconBrowserDialog extends Jade.UI.Dialog {
        private m_search;
        private m_grid;
        constructor(options: Jade.UI.IDialogOptions);
        private get value();
        private get grid();
        private get gridNode();
        private get headNode();
        private get search();
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private search_init;
        private grid_init;
        private getSelectedValue;
        private closeAndReturn;
        static open(options: Jade.UI.IDialogOptions): IconBrowserDialog;
    }
}
declare namespace PDJS.Shared.Dialogs {
    class UnsavedChangesDialog extends Jade.UI.MultipleChoiceDialog {
        static show(select?: (e: Jade.UI.IMultipleChoiceDialogResponse) => void): Jade.UI.MultipleChoiceDialog;
    }
}
declare namespace PDJS.Shared.Dialogs {
    interface IUploadDialogOptions extends Jade.UI.IDialogOptions {
        message: string;
    }
    class UploadDialog extends Jade.UI.Dialog {
        private m_uploadInput;
        constructor(options: IUploadDialogOptions);
        private get message();
        private get okButtonNode();
        private get cancelButtonNode();
        private get uploadInput();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private uploadInput_init;
        private closeAndReturn;
        static open(options: IUploadDialogOptions): UploadDialog;
    }
}
declare namespace PDJS.Shared.DocumentTypes {
    interface IDocumentTypeBrowserDialogOptions extends Jade.UI.IDialogOptions {
        viewStateId?: string;
        viewCustomId?: PDJS.Services.Views.BuiltInViews;
        selectionMode: PD.Web.UI.Controls.GridSelectionMode;
    }
    interface IDocumentTypeBrowserDialogResult extends Array<Core.DocumentTypes.IDocumentType> {
    }
    class DocumentTypeBrowserDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: IDocumentTypeBrowserDialogOptions);
        private get viewStateId();
        private set viewStateId(value);
        private get viewCustomId();
        private get okButtonNode();
        private get cancelButtonNode();
        private get grid();
        private get selectionMode();
        private get selections();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IDocumentTypeBrowserDialogOptions): DocumentTypeBrowserDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        private startUp;
    }
}
declare namespace PDJS.Entities {
    interface IEntityPropertiesDialogOptions {
        entityId: number;
        onSave?: Function;
    }
    interface IEntityCreateDialogOptions {
        entityTypeId: number;
        entityTypeName?: string;
        parentId?: number;
        onCreate?: Function;
        promptToOpen?: boolean;
    }
    class EntityDialogs {
        static showCreate(options: IEntityCreateDialogOptions): void;
        static showProperties(options: IEntityPropertiesDialogOptions): void;
        private static promptToExplore;
    }
}
declare namespace PDJS.Entities {
    interface IFilePropertiesDialogOptions {
        fileId: number;
        onSave?: Function;
    }
    class FileDialogs {
        static showProperties(options: IFilePropertiesDialogOptions): void;
    }
}
declare namespace PDJS.Shared.Entities {
    interface IEntityBrowserDialogOptions extends Jade.UI.IDialogOptions {
        entityTypeId?: number;
        viewStateId?: string;
        filters?: Array<Core.Views.EntityFilter>;
    }
    interface IEntityBrowserDialogResult {
        entityId: number;
        entityName: string;
        entityTypeIcon: string;
        entityTypeName: string;
    }
    class EntityBrowserDialog extends Jade.UI.Dialog {
        private m_selection;
        private m_grid;
        private get filters();
        private set filters(value);
        private get viewStateId();
        private set viewStateId(value);
        private get entityTypeId();
        private set entityTypeId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IEntityBrowserDialogOptions): EntityBrowserDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        private startUp;
    }
}
declare namespace PDJS.Shared.Security {
    class AccessControlEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_editor;
        private m_acl;
        protected get acl(): PDJS.Core.Security.AccessControlList;
        protected set acl(value: PDJS.Core.Security.AccessControlList);
        protected get editor(): PDJS.Shared.Security.AccessContol;
        protected get aces(): Array<Core.Security.IAce>;
        protected set aces(value: Array<Core.Security.IAce>);
        protected get permissions(): Array<Core.Security.IPermission>;
        protected get securableId(): number;
        protected get enabled(): boolean;
        protected get isAdvancedAllowed(): boolean;
        focus(): void;
        protected onCreated(): void;
        protected onResized(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onViewResized(): void;
        private acl_init;
    }
}
declare namespace PDJS.Shared.Entity {
    class AccessControlEditor extends PDJS.Shared.Security.AccessControlEditor {
        private get isCreate();
        protected onCreated(): void;
        private parent_onChange;
        private subscribeToParentChangeEvent;
    }
}
declare namespace PDJS.Shared.Entity {
    class CanvasEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_canvas;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        protected onValidationErrors(): void;
        protected onCommit(): void;
        private canvas_init;
    }
}
declare namespace PDJS.Shared.Entity {
    class TagsEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_grid;
        private get entityTags();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Shared.Features {
    class FeatureDialogForElem extends FeatureDialog {
        protected getRequestData(): IFeatureRequestData;
        static open(options: IFeatureDialogOptions): FeatureDialogForElem;
    }
}
declare namespace PDJS.Shared.Features {
    class FeatureDialogForJson extends FeatureDialog {
        protected getRequestData(): IFeatureRequestData;
        static open(options: IFeatureDialogOptions, windowOptions?: any): FeatureDialogForJson;
    }
}
declare namespace PDJS.Shared.Features {
    enum LoadMethod {
        LoadWithValidaton = 0,
        LoadWithoutValidaton = 1
    }
    interface IFeatureEditorOptions extends Jade.UI.IControlOptions {
        layoutType?: FeatureBlendJS.Views.FeatureBlendLayoutType;
        onCommitSuccess?: (e: any) => void;
        onLoadError?: Function;
        onLoadSuccess?: Function;
        onRequestStart?: Function;
        onRequestEnd?: Function;
        onValidationError?: Function;
        onFeatureValueChanged?: Function;
        loadMethod?: LoadMethod;
    }
    interface IFeatureEditorLoadArgs {
        arbiter: {
            targetType?: string;
            type?: string;
            id?: any;
            json?: any;
            attributes?: any;
            properties?: any;
        };
        initialized?: boolean;
    }
    interface IFeatureEditorCommitArgs {
        success?: Function;
        error?: Function;
        [key: string]: any;
    }
    class FeatureEditor extends Jade.UI.Control {
        private m_timeout;
        private m_layoutView;
        private m_rootModel;
        constructor(options: IFeatureEditorOptions);
        get layoutView(): FeatureBlendJS.Views.FeatureBlendView;
        protected get layoutType(): FeatureBlendJS.Views.FeatureBlendLayoutType;
        get rootModel(): FeatureBlendJS.Models.RootModel;
        protected get targetId(): any;
        protected get targetData(): any;
        protected get targetType(): string;
        protected get arbiterType(): string;
        protected get attributes(): any;
        protected get properties(): any;
        protected get loadMethod(): LoadMethod;
        protected get onLoadErrorCallback(): Function;
        protected get onRequestStartCallback(): Function;
        protected get onRequestEndCallback(): Function;
        protected get onValidationErrorCallback(): Function;
        protected get onCommitSuccessCallback(): Function;
        protected get onFeatureValueChangedCallback(): Function;
        protected get onLoadSuccessCallback(): Function;
        template(): string | JQuery | Array<string>;
        load(args: IFeatureEditorLoadArgs): void;
        commit(args?: IFeatureEditorCommitArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private layout_init;
        private reload;
        private commit_onSuccess;
        private commit_onError;
        private loadContextIntoLayoutView;
        private requestMonitorStart;
        private requestMonitorStop;
        private isEditorInJsonResponse;
    }
}
declare namespace PDJS.Shared.Features.Editors {
}
declare namespace PDJS.Shared.Features.Editors {
    interface ICreatorPermissions {
        allow: number;
        deny: number;
    }
    class AceEditor extends PopUpEditor {
        protected get ace(): PDJS.Core.Security.IAce;
        protected set ace(value: PDJS.Core.Security.IAce);
        protected get permissions(): Array<PDJS.Core.Security.IPermission>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        private setDisplayText;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IAceEditorDialogOptions extends Jade.UI.IDialogOptions {
        ace: PDJS.Core.Security.IAce;
        permissions: Array<PDJS.Core.Security.IPermission>;
    }
    interface IAceEditorDialogResult {
        ace: PDJS.Core.Security.Ace;
    }
    class AceEditorDialog extends Jade.UI.Dialog {
        private m_editor;
        private m_ace;
        private m_acl;
        private m_permissions;
        constructor(options: IAceEditorDialogOptions, windowOptions?: any);
        private get ace();
        private get acl();
        private get editor();
        private get buttonOk();
        private get buttonCancel();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        protected getDefaultOptions(): any;
        private editor_init;
        private acl_init;
        static open(options: IAceEditorDialogOptions, windowOptions?: any): AceEditorDialog;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ActionEditor extends PopUpEditor {
        private get textProperty();
        private get text();
        private set text(value);
        private get defaultText();
        private get action();
        private set action(value);
        private get hasAction();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        protected clearButton_onClick(): void;
        private setIcon;
        private setInputText;
        private getPlugin;
        private getAction;
        private updateUI;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ColorEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_popup;
        private get buttonNode();
        private get inputNode();
        private get swatchNode();
        private get popup();
        get value(): string;
        set value(value: string);
        get allowTransparency(): boolean;
        get inputValue(): string;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private popup_init;
        private updateInput;
        private setValidSwatch;
        private setInvalidSwatch;
    }
    function isValidColor(value: string, allowTransparency: boolean): boolean;
}
declare namespace PDJS.Shared.Features.Editors {
    interface IColorChangeEventArgs {
        color: string;
    }
    interface IColorEditorPopUpOptions extends Jade.UI.IControlOptions {
        handle: JQuery;
        editor: ColorEditor;
        change?: (e: IColorChangeEventArgs) => void;
    }
    class ColorEditorPopUp extends Jade.UI.Control {
        private m_handle;
        private m_editor;
        constructor(options: IColorEditorPopUpOptions);
        private get editor();
        private get handle();
        private get colorPickerNode();
        private get colorPicker();
        private get changeCallback();
        private get rInput();
        private get gInput();
        private get bInput();
        private get hexInput();
        private get editorValue();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private rInput_onChange;
        private gInput_onChange;
        private bInput_onChange;
        private hexInput_onChange;
        private popup_init;
        private popup_onShow;
        private colorpicker_init;
        private colorpicker_onChange;
        private updateColorInputs;
        private updateHex;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class DateEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_calendar;
        private get iconBinding();
        private get calendar();
        private set calendar(value);
        private get value();
        private set value(value);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private calendar_init;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class DocumentTypeSelectorEditor extends PopUpEditor {
        private get buttonNode();
        private get nameProperty();
        private get documentTypeName();
        private set documentTypeName(value);
        private get fallbackNameProperty();
        private get fallbackName();
        private get documentTypeId();
        private set documentTypeId(value);
        private get hasDocumentType();
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        protected clearButton_onClick(): void;
        private updateUI;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ExpressionEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_input;
        private get expressionId();
        private set expressionId(value);
        private get expressionName();
        private set expressionName(value);
        private get expressionIdProperty();
        private get expressionNameProperty();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private input_init;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IExpressionEditorDialogItem {
        id: string;
        name: string;
    }
    interface IExpressionEditorDialogResult extends Array<IExpressionEditorDialogItem> {
    }
    interface IExpressionEditorDialogOptions extends Jade.UI.IDialogOptions {
    }
    class ExpressionEditorDialog extends Jade.UI.Dialog {
        private m_grid;
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selections();
        private get gridNode();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IExpressionEditorDialogOptions, windowOptions?: any): ExpressionEditorDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        private startUp;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IExpressionEditorInputChangeArgs {
        expressionId: string;
        expressionName: string;
    }
    interface IExpressionEditorInputOptions extends Jade.UI.IControlOptions {
        expressionId: string;
        expressionName: string;
        enabled: boolean;
        readOnly: boolean;
        change: (e: IExpressionEditorInputChangeArgs) => void;
    }
    class ExpressionEditorInput extends Jade.UI.Control {
        constructor(options: IExpressionEditorInputOptions);
        private get buttonNode();
        private get inputNode();
        private get expressionId();
        private get expressionName();
        private get readOnly();
        private get enabled();
        private get changeCallback();
        focus(): void;
        clear(): void;
        clearText(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IExpressionOrListEditorSelectOptions extends Jade.UI.IControlOptions {
        list: Array<IExpressionOrListEditorItem>;
        value: boolean;
        change: (value: any) => void;
    }
    class ExpressionOrListEditorSelect extends Jade.UI.Control {
        constructor(options: IExpressionOrListEditorSelectOptions);
        private get selectNode();
        private get value();
        private get list();
        private get changeCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class FormatEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get inputNode();
        private get sampleNode();
        private get formatType();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private input_onKeyUp;
        private input_onBlur;
        private getSampleValue;
        private getSampleValueFormatted;
        private hideError;
        private showError;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class IconEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get inputNode();
        private get imageNode();
        private get hasIcon();
        private get icon();
        private set icon(value);
        private get iconPath();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
        private setIconImage;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class IdentitySelectionEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get inputNode();
        private get identityId();
        private set identityId(value);
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
        private updateUI;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class IntegerEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get inputNode();
        private get inputValue();
        private get inputRawValue();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface ILdeSelectionDialogOptions extends Jade.UI.IDialogOptions {
    }
    interface ILdeSelectionDialogItem {
        id: number;
        name: string;
    }
    interface ILdeSelectionDialogResult extends Array<ILdeSelectionDialogItem> {
    }
    class LdeSelectionDialog extends Jade.UI.Dialog {
        private m_grid;
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selections();
        private get gridNode();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: ILdeSelectionDialogOptions, windowOptions?: any): LdeSelectionDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        private startUp;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class LdeSelectionEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get inputNode();
        private get extensionNameProperty();
        private get extensionName();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface IListItem {
        name: string;
        value: any;
    }
    export class ListEditorBase extends FeatureBlendJS.Views.MicroEditorBase {
        protected get items(): Array<IListItem>;
        protected get listId(): string;
    }
    export class ListEditor extends ListEditorBase {
        get selectNode(): JQuery;
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
    export {};
}
declare namespace PDJS.Shared.Features.Editors {
    enum ListViewEditorValueType {
        List = 0,
        DelimitedString = 1,
        Flags = 2
    }
    interface IListViewEditorItem {
    }
    class ListViewEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_list;
        get selectNode(): JQuery;
        private get iconBinding();
        private get labelBinding();
        private get valueType();
        private get height();
        protected get items(): Array<IListViewEditorItem>;
        protected get listId(): string;
        private get list();
        private set list(value);
        private get value();
        private get valueBinding();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        private list_init;
        private commitValueAsList;
        private commitValuesAsDelimitedString;
        private commitValuesAsFlags;
        private loadValues;
        private loadValuesFromList;
        private loadValuesFromDelimitedString;
        private loadValuesFromFlags;
        private loadList;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class PasswordEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get input();
        private get mask();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private showPasswordMask;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ResourceSelectionEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get inputNode();
        private get validExtensions();
        private get resourcePathProperty();
        private get resourcePath();
        private set resourcePath(value);
        private get resourceId();
        private set resourceId(value);
        private get hasResource();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private button_onClick;
        private updateUI;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class RuleScriptSelectorEditor extends PopUpEditor {
        private get supportsDefault();
        private get defaultTextProperty();
        private get textProperty();
        private get viewStateIdProperty();
        private get text();
        private set text(value);
        private get scriptName();
        private set scriptName(value);
        private get defaultText();
        private get hasScript();
        private get viewStateId();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        protected clearButton_onClick(): void;
        private setIcon;
        private setInputText;
        private updateUI;
    }
}
declare namespace PDJS.Shared.Features.Editors {
}
declare namespace PDJS.Shared.Features.Editors {
    class SingleFileUploadEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_upload;
        private get fileId();
        private set fileId(value);
        private get fileName();
        private set fileName(value);
        private get fileNameProperty();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private upload_init;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class StringEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get allowDataTags();
        private get inputNode();
        private get maskInputNode();
        private get value();
        private set value(value);
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private configureForDataTags;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class TagEditor extends PopUpEditor {
        private m_popup;
        protected get tagslist(): Array<string>;
        protected set tagslist(value: Array<string>);
        protected get allowWildcards(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected popupButton_onClick(): void;
        private setDisplayText;
        private getTagType;
        private getSortedTagList;
        private deleteTag;
        private popup_init;
        private showTagListDialog;
        private showTagPatternDialog;
        private updateList;
        private updatePattern;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface ITagListDialogOptions extends Jade.UI.IDialogOptions {
        allowWildcards: boolean;
    }
    interface ITagListDialogResult extends Array<string> {
    }
    class TagListDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: ITagListDialogOptions, windowOptions?: any);
        private get allowWildcards();
        private get buttonOk();
        private get buttonCancel();
        private get viewStateId();
        private set viewStateId(value);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onInputReturnKeystroke(): void;
        protected getDefaultOptions(): any;
        private grid_init;
        private startUp;
        private closeAndReturn;
        static open(options: ITagListDialogOptions, windowOptions?: any): TagListDialog;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    interface ITagPatternDialogOptions extends Jade.UI.IDialogOptions {
        pattern: string;
    }
    interface ITagPatternDialogResult {
        oldPattern: string;
        newPattern: string;
    }
    class TagPatternDialog extends Jade.UI.Dialog {
        private m_input;
        constructor(options: ITagPatternDialogOptions, windowOptions?: any);
        private get pattern();
        private get buttonOk();
        private get buttonCancel();
        private get variableTitle();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected onInputReturnKeystroke(): void;
        protected getDefaultOptions(): any;
        private input_init;
        private closeAndReturn;
        static open(options: ITagPatternDialogOptions, windowOptions?: any): TagPatternDialog;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class TextAreaEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get allowDataTags();
        private get height();
        private get inputNode();
        private get maskInputNode();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected syncScrollPositions(): void;
        private writeTextToInput;
        private writeTextToMask;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class TimeEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private m_masked;
        private get fixedNode();
        private get masked();
        private set masked(value);
        private get value();
        private set value(value);
        private get minutesProperty();
        private get hoursProperty();
        private get hasMinutesProperty();
        private get hasHoursProperty();
        private get hours();
        private set hours(value);
        private get minutes();
        private set minutes(value);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private init_fixed;
        private init_masked;
        private isValidTime;
        private setValidationState;
        private is12HourFormat;
        private is24HourFormat;
        private changeValue;
        private commitValue;
        private getTimeParts;
        private formatValue;
    }
}
declare namespace PDJS.Shared.Features.Editors {
    class ViewEditor extends FeatureBlendJS.Views.MicroEditorBase {
        private get buttonNode();
        private get linkNode();
        template(): string | Array<string> | JQuery;
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private showViewEditorDialog;
    }
}
declare namespace PDJS.Shared.Features.Editors.Macro {
    interface IMacroEditorSetDimensionsArgs {
        height?: string | number;
        width?: string | number;
    }
    class MacroEditor extends FeatureBlendJS.Views.MacroEditorBase {
        protected get dialogNode(): JQuery;
        protected get dialog(): Jade.UI.Dialog;
        protected setDimensons(args: IMacroEditorSetDimensionsArgs): void;
    }
}
declare namespace PDJS.Shared.Features.Editors.Macro {
    class AceTextEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_editor;
        protected get editorNode(): JQuery;
        protected get editor(): AceAjax.Editor;
        protected get mode(): string;
        protected get readOnly(): boolean;
        protected get value(): string;
        protected set value(value: string);
        template(): string | Array<string> | JQuery;
        resize(): void;
        destroy(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private editor_init;
        private editor_focus;
    }
}
declare namespace PDJS.Shared.Features.Editors.Macro {
    class RichTextEditor extends FeatureBlendJS.Views.MacroEditorBase {
        private m_editor;
        protected get containerNode(): JQuery;
        protected get editor(): TinyMceJs.tinymce;
        protected get editorNode(): JQuery;
        template(): string | Array<string> | JQuery;
        resize(): void;
        destroy(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private editor_init;
        private editor_onSetup;
        private editor_onShowColorPicker;
        private editor_loadContent;
        private editor_sizeToFit;
        private editor_setBackgroundColor;
    }
}
declare namespace PDJS.Shared.Files {
    interface IFilePropertiesDialogOptions {
        entityId: number;
        onSave?: Function;
    }
    class EditFiles {
        static showProperties(options: IFilePropertiesDialogOptions): void;
    }
}
declare namespace PDJS.Shared.Navigate {
    interface INavigatorValidatorOptions {
    }
    class NavigatorValidator extends Core.Model {
        constructor(options: INavigatorValidatorOptions);
        private get changesCallback();
        hasChanges(): boolean;
        reset(): void;
    }
}
declare namespace PDJS.Shared.Navigate {
    interface IFeatureEditorValidatorOptions extends INavigatorValidatorOptions {
        canvas: PDJS.Canvas.Actual.CanvasViewBox;
    }
    class CanvasEditorValidator extends NavigatorValidator {
        constructor(options: IFeatureEditorValidatorOptions);
        private get canvas();
        hasChanges(): boolean;
    }
}
declare namespace PDJS.Shared.Navigate {
    interface IFeatureEditorValidatorOptions extends INavigatorValidatorOptions {
        editor: PDJS.Shared.Features.FeatureEditor;
    }
    class FeatureEditorValidator extends NavigatorValidator {
        private m_hasChanges;
        constructor(options: IFeatureEditorValidatorOptions);
        private get editor();
        hasChanges(): boolean;
        reset(): void;
    }
}
declare namespace PDJS.Shared.Navigate {
    type NavigatorDirective = string | JQueryEventObject | Function;
    interface IGoArgs {
        directive: NavigatorDirective;
        arguments?: any;
        error?: Function;
    }
    interface INavigatorOptions {
        captureAnchorNavigation?: boolean;
        prompt?: (fn: Function) => void;
    }
    class Navigator extends Core.Model {
        private m_validators;
        constructor(options: INavigatorOptions);
        private get captureAnchorNavigation();
        private get promptCallback();
        get validators(): NavigatorValidatorCollection;
        private set validators(value);
        go(e: IGoArgs): void;
        private addAnchorNavigationHandlers;
        private attemptNavigate;
        private goUrl;
        private goFunction;
        private goAnchor;
        private canGo;
        private isObservableAnchor;
        private defaultPrompt;
    }
}
declare namespace PDJS.Shared.Navigate {
    class NavigatorValidatorCollection extends Jade.Collection<NavigatorValidator> {
        hasChanges(): boolean;
        reset(): void;
    }
}
declare namespace PDJS.Shared.Personalization {
    interface IPreferences {
        contentListDoubleClickBehavior?: number;
        explorerAncestorDisplayMode?: number;
        globalDoubleClickBehavior?: number;
        openLastViewedExplorerFolder?: boolean;
    }
    interface IPreferencesOptions {
        contentListDoubleClickBehavior?: number;
        explorerAncestorDisplayMode?: number;
        globalDoubleClickBehavior?: number;
        openLastViewedExplorerFolder?: boolean;
    }
    class Preferences {
        private static m_instance;
        private m_state;
        constructor(options?: IPreferencesOptions);
        static get current(): Preferences;
        protected get state(): Jade.StateBag;
        get contentListDoubleClickBehavior(): number;
        get explorerAncestorDisplayMode(): number;
        get globalDoubleClickBehavior(): number;
        get openLastViewedExplorerFolder(): boolean;
        load(options: IPreferencesOptions): void;
        protected onStateChanged(): void;
        private static ensureInstance;
    }
}
declare namespace PDJS.Shared.Plugins {
    interface IPlugin {
        id: string;
        name: string;
        description?: string;
        version?: string;
    }
    interface IPluginOptions {
        id: string;
        name: string;
        description?: string;
        version?: string;
    }
    class Plugin {
        private m_options;
        private m_actions;
        private m_scripts;
        constructor(options: IPluginOptions);
        get id(): string;
        get name(): string;
        get description(): string;
        get version(): string;
        get actions(): PDJS.Shared.Actions.ActionManager;
        get scripts(): PluginScriptsCollection;
        toJSON(): IPlugin;
    }
}
declare namespace PDJS.Shared.Plugins {
    interface IPluginsDictionary {
        [key: string]: any;
    }
    class PluginManager {
        private static m_instance;
        private m_plugins;
        private constructor();
        static get instance(): PluginManager;
        private get plugins();
        addPlugin(plugin: Plugin): void;
        removePlugin(id: string): void;
        getPlugin(id: string): Plugin;
        getPlugins(): Array<Plugin>;
        private static ensureInstance;
    }
}
declare namespace PDJS.Shared.Plugins {
    class PluginRouter {
        private constructor();
        private routeHandler;
        private addRoutes;
    }
}
declare namespace PDJS.Shared.Plugins {
    interface IPluginScriptsDictionary {
        [key: string]: any;
    }
    class PluginScriptsCollection {
        private m_defaultScript;
        private m_scripts;
        get default(): any;
        add(key: string, value: any): void;
        remove(key: string, value: any): void;
        get(key: string): any;
        containsKeys(): boolean;
        containsKey(key: string): boolean;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAceEditorOptions extends Jade.UI.IControlOptions {
        permissions: Array<any>;
        change: (ace: any) => void;
    }
    class AceEditor2 extends Jade.UI.Control {
        private m_ace;
        private m_grid;
        constructor(options: IAceEditorOptions);
        private get ddl();
        private get isBasicView();
        private get enabled();
        private set enabled(value);
        private get permissions();
        private set permissions(value);
        private get changeCallback();
        private get gridNode();
        loadAce(ace: any): void;
        loadPermissions(permissions?: Array<any>): void;
        redraw(): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private updateCheckBoxesToReflectEnabledState;
        private ddl_onChange;
        private filterPermissions;
        private checkbox_allow_onChange;
        private checkbox_deny_onChange;
        private checkbox_clearAnalog;
        private checkbox_setChecked;
        private checkbox_getPermissionValue;
        private updateAce;
        private updateCheckboxesToMatchAce;
        private hasSpecialPermission;
        private getCheckboxesAndValues;
        private setCheckboxSpecialPermissionState;
        private hasExpandedPermissions;
        private disableAllCheckboxes;
        private enableAllCheckboxes;
        private clearAllCheckboxes;
    }
}
declare namespace PDJS.Shared.Security {
    interface IPermissionInfo {
        name: string;
        value: number;
        items: Array<PermissionExpanded>;
    }
    enum IPermissionCoverage {
        None = "none",
        Partial = "partial",
        Allow = "allow",
        Deny = "deny"
    }
    enum PermissionExpanded {
        "None" = 0,
        "Read" = 1,
        "EditFormData" = 2,
        "AddFiles" = 4,
        "AddChildren" = 8,
        "DeleteListItem" = 16,
        "DeleteFile" = 32,
        "ReplaceFile" = 64,
        "ExecuteProcess" = 512,
        "ChangePermissions" = 4096,
        "ChangeEntityStatus" = 8192,
        "ReparentEntity" = 16384
    }
    enum PermissionBasic {
        "None" = 0,
        "Read" = 1,
        "Write" = 14,
        "Delete" = 112,
        "Manage" = 512,
        "Administrate" = 28672
    }
    interface IGetCoverageArgs {
        info: IPermissionInfo;
        allow: number;
        deny: number;
    }
    class EntityPermissions {
        static get list(): Array<IPermissionInfo>;
        static getCoverage(args: IGetCoverageArgs): IPermissionCoverage;
        private static isFullyActivated;
    }
}
declare namespace PDJS.Shared.Security {
    interface IIdentityBrowserDialogOptions extends Jade.UI.IDialogOptions {
        filters: Array<Core.Views.IdentityFilter>;
        selectionMode?: PD.Web.UI.Controls.GridSelectionMode;
    }
    interface IIdentityBrowserDialogItem {
        id: string;
        name: string;
        accountId: string;
        type: number;
    }
    interface IIdentityBrowserDialogResult extends Array<IIdentityBrowserDialogItem> {
    }
    class IdentityBrowserDialog extends Jade.UI.Dialog {
        private m_grid;
        private get filters();
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selectionMode();
        private get selections();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        static open(options: IIdentityBrowserDialogOptions, windowOptions?: any): IdentityBrowserDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
        private startUp;
    }
}
declare namespace PDJS.Shared.Security {
    class LoginDialog extends Jade.UI.Dialog {
        private static m_instance;
        constructor();
        private get loginButtonNode();
        static get instance(): LoginDialog;
        static set instance(value: LoginDialog);
        static get opened(): boolean;
        get userNameLabelNode(): JQuery;
        get userNameNode(): JQuery;
        get passwordLabelNode(): JQuery;
        get passwordNode(): JQuery;
        get errorNode(): JQuery;
        get spinnerNode(): JQuery;
        template(): string | Array<string> | JQuery;
        close(options?: any): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private login_onClick;
        static open(): LoginDialog;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAccessControlOptions extends Jade.UI.IControlOptions {
        acl: PDJS.Core.Security.AccessControlList;
        readOnly?: boolean;
        securableId?: number;
        enableAdvanced?: boolean;
        enableEffectivePermissions?: boolean;
    }
    class AccessContol extends Jade.UI.Control {
        private m_aclEditor;
        private m_aceEditor;
        private m_toolbar;
        constructor(options: IAccessControlOptions);
        get aclEditor(): AccessControlAcl;
        set aclEditor(value: AccessControlAcl);
        private get aclEditorNode();
        get aceEditor(): AccessControlAce;
        set aceEditor(value: AccessControlAce);
        private get aceEditorNode();
        get acl(): PDJS.Core.Security.AccessControlList;
        get enableAddAndRemove(): boolean;
        get enableAdvanced(): boolean;
        get enableEffectivePermissions(): boolean;
        private get readOnly();
        private get splitter();
        private get splitterNode();
        get securableId(): number;
        get effectivePermissions(): any;
        set effectivePermissions(value: any);
        template(): string | Array<string> | JQuery;
        resize(): void;
        resetSize(): void;
        protected onActivate(e: any): void;
        private aclEditor_init;
        private aceEditor_init;
        private splitter_init;
        private toolbar_init;
        private setCommandState;
    }
}
declare namespace PDJS.Shared.Security {
    class AccessControlCommand extends Jade.Command {
        constructor();
        protected get accessControl(): PDJS.Shared.Security.AccessContol;
        protected get acl(): PDJS.Core.Security.AccessControlList;
        protected get aceGrid(): AceGrid;
        protected get aclGrid(): AclGrid;
        protected get selectedAce(): PDJS.Core.Security.Ace;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Shared.Security {
    class AddAceCommand extends AccessControlCommand {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private showIdenitiyFinderDialog;
    }
}
declare namespace PDJS.Shared.Security {
    class RemoveAceCommand extends AccessControlCommand {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private showIdenitiyFinderDialog;
    }
}
declare namespace PDJS.Shared.Security {
    class ShowAdvancedCommand extends AccessControlCommand {
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Security {
    class ShowEffectivePermissionsCommand extends AccessControlCommand {
        private m_identity;
        onExecute(e: any): void;
        protected getDefaultValuesForProps(): any;
        private ensureIdentity;
    }
}
declare namespace PDJS.Shared.Security {
    class AccessControlCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAccessControlToolbarOptions extends Jade.UI.IControlOptions {
        enableAdvanced: boolean;
        enableEffectivePermissions: boolean;
        enableAddAndRemove: boolean;
    }
    class AccessControlToolbar extends Jade.UI.Control {
        constructor(options: IAccessControlToolbarOptions);
        get enableAdvanced(): boolean;
        get enableEffectivePermissions(): boolean;
        get enableAddAndRemove(): boolean;
        get advancedButton(): JQuery;
        get effectivePermissionsButton(): JQuery;
        get addButton(): JQuery;
        get removeButton(): JQuery;
        get commandContext(): Jade.CommandContext;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        private setGridTemplateRows;
    }
}
declare namespace PDJS.Shared.Security {
    enum PermissionsViewType {
        basic = "basic",
        extended = "extended"
    }
    interface IAccessControlAceOptions extends Jade.UI.IControlOptions {
        acl: PDJS.Core.Security.AccessControlList;
    }
    class AccessControlAce extends Jade.UI.Control {
        private m_grid;
        private m_ace;
        constructor(options: IAccessControlAceOptions);
        get grid(): AceGrid;
        private get acl();
        private get ace();
        private set ace(value);
        private get permissionsType();
        private get permissionsViewNode();
        template(): string | Array<string> | JQuery;
        loadAce(ace: PDJS.Core.Security.Ace): void;
        resize(): void;
        protected onActivate(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAceGridOptions extends Jade.UI.IControlOptions {
        acl: PDJS.Core.Security.AccessControlList;
    }
    class AceGrid extends Jade.UI.Control {
        private m_grid;
        private m_checkboxes;
        constructor(options: IAceGridOptions);
        get dataSource(): PD.Web.UI.Controls.GridDataSource;
        private get grid();
        private get checkboxes();
        private get acl();
        template(): string | Array<string> | JQuery;
        loadAce(ace: PDJS.Core.Security.Ace): void;
        setPermissionsType(ace: Core.Security.Ace, type: PermissionsViewType): void;
        protected onActivate(e: any): void;
        private grid_init;
        private checkboxes_init;
    }
}
declare namespace PDJS.Shared.Security {
    enum CheckboxType {
        allow = "allow",
        deny = "deny"
    }
    interface ICheckboxOptions {
        container: JQuery;
        type: CheckboxType;
        change: (e: Checkbox) => void;
    }
    class Checkbox extends PDJS.Core.Model {
        constructor(options: ICheckboxOptions);
        private get container();
        private get node();
        private get type();
        get changeCallback(): (e: Checkbox) => void;
        get checked(): boolean;
        set checked(value: boolean);
        get enabled(): boolean;
        set enabled(value: boolean);
        setTriState(isSet: boolean): void;
        protected onActivate(): void;
    }
}
declare namespace PDJS.Shared.Security {
    interface ICheckboxPairOptions {
        container: JQuery;
        acl: PDJS.Core.Security.AccessControlList;
        permission: PDJS.Core.Security.Permission;
    }
    class CheckboxPair extends PDJS.Core.Model {
        private m_allowed;
        private m_denied;
        private m_ace;
        constructor(options: ICheckboxPairOptions);
        private get container();
        private get permission();
        private get acl();
        private get allowed();
        private set allowed(value);
        private get denied();
        private set denied(value);
        private get node();
        private get ace();
        private set ace(value);
        setAce(ace: PDJS.Core.Security.Ace): void;
        setEnabled(enabled: boolean): void;
        private allowed_init;
        private denied_init;
        private updateAce;
        private updateCheckbox;
        private loadWhenAceNull;
        private loadWhenAceNotNull;
    }
}
declare namespace PDJS.Shared.Security {
    interface ICheckboxPairCollectionOptions {
        acl: PDJS.Core.Security.AccessControlList;
        container: JQuery;
    }
    class CheckboxPairCollection extends Jade.Collection<CheckboxPair> {
        private m_container;
        private m_acl;
        constructor(options: ICheckboxPairCollectionOptions);
        private get container();
        private get permissions();
        private get acl();
        setAce(ace: PDJS.Core.Security.Ace): void;
        private populate;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAclEditorOptions extends Jade.UI.IControlOptions {
        acl: PDJS.Core.Security.AccessControlList;
        change: (e: PDJS.Core.Security.Ace) => void;
    }
    class AccessControlAcl extends Jade.UI.Control {
        private m_grid;
        constructor(options: IAclEditorOptions);
        get grid(): AclGrid;
        private get acl();
        private get changeCallback();
        template(): string | Array<string> | JQuery;
        resize(): void;
        refresh(clear?: boolean, selections?: Array<number>): void;
        protected onActivate(e: any): void;
        private grid_init;
    }
}
declare namespace PDJS.Shared.Security {
    interface IAclGridOptions extends Jade.UI.IControlOptions {
        acl: PDJS.Core.Security.AccessControlList;
        change: (e: PDJS.Core.Security.Ace) => void;
    }
    class AclGrid extends Jade.UI.Control {
        private m_grid;
        constructor(options: IAclGridOptions);
        private get dataSource();
        private get grid();
        private get kendo();
        private get acl();
        private get changeCallback();
        get selection(): PDJS.Core.Security.Ace;
        template(): string | Array<string> | JQuery;
        resize(): void;
        refresh(clear?: boolean, selections?: Array<number>): void;
        protected onActivate(e: any): void;
        private grid_init;
        private getSelectedAce;
    }
}
declare namespace PDJS.Shared.Security {
    interface IIdentity {
        id: number;
        displayName: string;
        name: string;
    }
    interface IEffectivePermissionsDialogResult {
        identity: IIdentity;
    }
    interface IEffectivePermissionsDialogOptions extends Jade.UI.IDialogOptions {
        identity: IIdentity;
        entityId: number;
        aces: Array<PDJS.Core.Security.IAce>;
    }
    class EffectivePermissionsDialog extends Jade.UI.Dialog {
        private _grid;
        private _viewStateId;
        private _identitySelector;
        private _identity;
        private _effectivePermissionsGrid;
        private _effectivePermissionsSourcesGrid;
        constructor(options: IEffectivePermissionsDialogOptions);
        private get aces();
        private get identity();
        private set identity(value);
        private get entityId();
        private get closeButton();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getDefaultOptions(): any;
        private identitySelector_init;
        private identitySelector_onChange;
        private effectivePermissionsGrid_init;
        private effectivePermissionsSourcesGrid_init;
        private closeButton_onClick;
        static open(options: IEffectivePermissionsDialogOptions): EffectivePermissionsDialog;
    }
}
declare namespace PDJS.Shared.Security {
    interface IEffectivePermissionsGridOptions extends Jade.UI.IControlOptions {
        change: Function;
    }
    class EffectivePermissionsGrid extends Jade.UI.Control {
        private _grid;
        private _permissions;
        constructor(options: IEffectivePermissionsGridOptions);
        private get changeCallback();
        load(permissions: Array<any>): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
    }
}
declare namespace PDJS.Shared.Security {
    interface IEffectivePermissionsSourcesGridOptions extends Jade.UI.IControlOptions {
    }
    class EffectivePermissionsSourcesGrid extends Jade.UI.Control {
        private _grid;
        constructor(options: IEffectivePermissionsSourcesGridOptions);
        load(sources: Array<any>): void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
    }
}
declare namespace PDJS.Shared.UI {
    interface ICommandPreviousValues {
        checked: boolean;
        display: string;
        enabled: boolean;
        icon: string;
        label: string;
        tooltip: string;
        visible: boolean;
    }
    interface IControlCommanderOptions {
        commandId: string;
        change: () => void;
    }
    class ControlCommander {
        private m_state;
        private m_commandId;
        private m_subscriber;
        private m_previous;
        constructor(options: IControlCommanderOptions);
        get changeCallback(): () => void;
        get checked(): boolean;
        get commandId(): string;
        get commandUid(): string;
        set commandUid(value: string);
        protected get subscriber(): Jade.CommandSubscriber;
        protected set subscriber(value: Jade.CommandSubscriber);
        get display(): string;
        get enabled(): boolean;
        get icon(): string;
        get isIconVisible(): boolean;
        get isLabelVisible(): boolean;
        get label(): string;
        get previous(): ICommandPreviousValues;
        protected get state(): Jade.StateBag;
        get tooltip(): string;
        get visible(): boolean;
        get value(): any;
        execute(args?: any): void;
        getResolvedIcon(): string;
        getCommandState(id: string): any;
        private subscribeToCommand;
        private getValue;
        private showIcon;
        private showLabel;
    }
}
declare namespace PDJS.Shared.UI {
    enum CssClass {
        Disabled = "-pdjs-disabled"
    }
}
declare namespace PDJS.Shared.UI {
    enum KeyCodes {
        Backspace = 8,
        Tab = 9,
        Return = 13,
        Space = 32,
        End = 35,
        Home = 36,
        ArrowLeft = 37,
        ArrowUp = 38,
        ArrowRight = 39,
        ArrowDown = 40,
        Delete = 46
    }
    class KeyCode {
        static get actionKeys(): Array<number>;
        static get navigationKeys(): Array<number>;
        static isActionKey(keyCode: number, ...exclude: number[]): boolean;
        static isNavigationKey(keyCode: number, ...exclude: number[]): boolean;
    }
}
declare namespace PDJS.Shared.UI {
    interface IStateBindingMap {
        [key: string]: string;
    }
    interface IStateBindingOptions {
        map?: IStateBindingMap;
        defaults: IStateBindingMap;
        state: Jade.StateBag;
    }
    class StateBindingBase {
        private m_state;
        private m_map;
        private m_defaults;
        constructor(options: IStateBindingOptions);
        protected get defaults(): IStateBindingMap;
        protected set defaults(value: IStateBindingMap);
        protected get map(): IStateBindingMap;
        protected set map(value: IStateBindingMap);
        protected get state(): Jade.StateBag;
        protected set state(value: Jade.StateBag);
        resolve(name: string): string;
        getValue(name: string, defaultValue?: any): any;
        setValue(name: string, value: any): void;
        protected getDefaults(): IStateBindingMap;
    }
    class StateBinding<TBindingMap extends IStateBindingMap> extends StateBindingBase {
        protected get defaults(): TBindingMap;
        protected set defaults(value: TBindingMap);
        protected get map(): TBindingMap;
        protected set map(value: TBindingMap);
        protected getDefaults(): TBindingMap;
    }
}
declare namespace PDJS.Shared.UI {
    interface IStyleInjectorOptions {
        id: string;
    }
    interface IStyleDefinition {
        [selector: string]: IStyleAttributes;
    }
    interface IStyleAttributes {
        [attributeName: string]: string;
    }
    interface IStyleOptions {
        useRootClass?: boolean;
    }
    class StyleInjector {
        private m_id;
        private m_idEscaped;
        private m_styles;
        constructor(options: any);
        get id(): string;
        get idEscaped(): string;
        get idStyleTag(): string;
        get rootClass(): string;
        private get styles();
        addStyle(selector: string, style: IStyleAttributes, options?: IStyleOptions): StyleInjector;
        inject(): void;
        remove(): void;
        private getStyle;
        private getFormattedAttributeName;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum CssClass {
        ACTIVE = "-pdjs-active",
        MaskedTextBox = "-pd-masked-textbox",
        ComboBox = "-pdjs-combo-box"
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum DataAttributes {
        triggerDefaultButtonOnCarriageReturn = "triggerDefaultButtonOnCarriageReturn"
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class BatchFieldChangeEvent {
    }
    interface IBatchFieldOptions extends Jade.UI.IControlOptions {
        tabIndex?: number;
        dialogViewStateId: string;
        dialogMapId?: string;
        dialogMapLabel?: string;
        dialogMapIcon?: string;
        dialogTitle?: string;
        dialogHeight?: number;
        dialogWidth?: number;
        dialogFilters: Array<PDJS.Core.Views.IContextFilter>;
        showCheckboxes?: boolean;
        change?: (items: Array<IBatchFieldListItem>) => void;
    }
    class BatchField extends Jade.UI.Control {
        private m_list;
        private m_button;
        private m_filter;
        constructor(options: IBatchFieldOptions);
        get list(): BatchFieldList;
        get button(): BatchFieldButton;
        get filter(): BatchFieldFilter;
        private get dialogViewStateId();
        private get dialogMapId();
        private get dialogMapLabel();
        private get dialogMapIcon();
        private get dialogTitle();
        private get dialogHeight();
        private get dialogWidth();
        private get dialogFilters();
        private get items();
        private set items(value);
        private get tabIndex();
        private get changeCallback();
        get showCheckboxes(): boolean;
        set showCheckboxes(value: boolean);
        template(): string | Array<string> | JQuery;
        focus(): void;
        reload(items: Array<IBatchFieldListItem>, filterTerm: string): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private list_init;
        private button_init;
        private filter_init;
        private dialog_open;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IBatchFieldButtonOptions extends Jade.UI.IControlOptions {
        openDialog?: Function;
        list: BatchFieldList;
        tabIndex: number;
        showCheckboxes?: boolean;
    }
    class BatchFieldButton extends Jade.UI.Control {
        private m_popUp;
        constructor(options: IBatchFieldButtonOptions);
        private get popUp();
        private get tabIndex();
        private get openDialogCallback();
        private get commandCallback();
        private get dialogButtonNode();
        private get popUpButtonNode();
        private get list();
        private get showCheckboxes();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private popUp_init;
        private dialogButton_onClick;
        private popUpButton_onClick;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IBatchFieldDialogOptions extends Jade.UI.IDialogOptions {
        filters?: Array<PDJS.Core.Views.IContextFilter>;
        viewStateId: string;
        mapId?: string;
        mapLabel?: string;
        mapIcon?: string;
    }
    interface IBatchFieldDialogResult extends Array<IBatchFieldListItem> {
    }
    class BatchFieldDialog extends Jade.UI.Dialog {
        private m_grid;
        constructor(options: IBatchFieldDialogOptions, windowOptions?: any);
        private get filters();
        private get viewStateId();
        private set viewStateId(value);
        private get okButtonNode();
        private get cancelButtonNode();
        private get selections();
        private get mapId();
        private get mapLabel();
        private get mapIcon();
        template(): string | JQuery | Array<string>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        static open(options: IBatchFieldDialogOptions, windowOptions?: any): BatchFieldDialog;
        private grid_init;
        private okButton_onClick;
        private cancelButton_onClick;
        private closeAndReturn;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IBatchFieldFilterOptions extends Jade.UI.IControlOptions {
        list: BatchFieldList;
        tabIndex: number;
        change: (term: string) => void;
    }
    class BatchFieldFilter extends Jade.UI.Control {
        private m_mask;
        constructor(options: IBatchFieldFilterOptions);
        get mask(): PDJS.Shared.UI.Controls.MaskedTextBox;
        private get changeCallback();
        get hasValue(): boolean;
        get value(): string;
        template(): string | Array<string> | JQuery;
        focus(): void;
        setTerm(term: string): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private filter_init;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IBatchFieldListOptions extends Jade.UI.IControlOptions {
        items: Array<IBatchFieldListItem>;
        tabIndex?: number;
        change: Function;
        showCheckboxes?: boolean;
    }
    class BatchFieldList extends Jade.UI.Control {
        constructor(options: IBatchFieldListOptions);
        private get items();
        private get batchFieldListItems();
        private get tabIndex();
        private get changeCallback();
        get showCheckboxes(): boolean;
        set showCheckboxes(value: boolean);
        template(): string | Array<string> | JQuery;
        filter(term: string): void;
        selectAll(): void;
        deselectAll(): void;
        activateAll(): void;
        deactivateAll(): void;
        removeAll(): void;
        removeSelected(): void;
        refresh(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private removeItem;
        private removeMessage;
        private addMessage;
        private addNoItemsMessage;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IBatchFieldListItem {
        id: any;
        label: string;
        icon: string;
        active: boolean;
        selected: boolean;
        visible: boolean;
    }
    interface IBatchFieldListItemOptions extends Jade.UI.IControlOptions {
        data: IBatchFieldListItem;
        tabIndex?: number;
        showCheckbox?: boolean;
        remove?: (item: BatchFieldListItem) => void;
        check?: (item: BatchFieldListItem) => void;
        select?: (item: BatchFieldListItem, multiSelect: boolean) => void;
    }
    class BatchFieldListItem extends Jade.UI.Control {
        private m_iconPath;
        constructor(options: IBatchFieldListItemOptions);
        get itemId(): any;
        get label(): string;
        private get icon();
        get active(): boolean;
        set active(value: boolean);
        get selected(): boolean;
        set selected(value: boolean);
        private get tabIndex();
        private get checkBoxNode();
        private get labelNode();
        private get imgNode();
        private get showCheckbox();
        get visible(): boolean;
        set visible(value: boolean);
        private get removeCallback();
        private get checkCallback();
        private get selectCallback();
        template(): string | Array<string> | JQuery;
        onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onLoad(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private onRemove;
        private onCheck;
        private onSelect;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IButtonOptions {
        click: (e: JQueryEventObject) => void;
        enabled: boolean;
        icon: string;
        iconSet: string;
        label: string;
        tooltip: () => string;
        visible: boolean;
    }
    class Button extends Jade.UI.Control {
        constructor(options: ICommandButtonOptions);
        protected get checked(): boolean;
        protected set checked(value: boolean);
        protected get clickCallback(): (e: JQueryEventObject) => void;
        protected get enabled(): boolean;
        protected set enabled(value: boolean);
        protected get icon(): string;
        protected set icon(value: string);
        protected get iconSet(): string;
        protected set iconSet(value: string);
        protected get iconVisible(): boolean;
        protected set iconVisible(value: boolean);
        private get iconNode();
        private get imageNode();
        protected get label(): string;
        protected set label(value: string);
        private get labelNode();
        protected get labelVisible(): boolean;
        protected set labelVisible(value: boolean);
        protected get visible(): boolean;
        protected set visible(value: boolean);
        template(): string;
        protected onActivate(e: any): void;
        protected onClick(e: JQueryEventObject): void;
        protected onComplete(e: any): void;
        protected onPropertiesChanged(): void;
        protected hasGridGap(): boolean;
        protected isIconVisible(): boolean;
        protected isLabelVisible(): boolean;
        protected getResolvedIcon(): string;
        protected getTooltip(): string;
        protected createTooltip(): void;
        protected hideTooltip(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ICodeEditorOptions extends Jade.UI.IControlOptions {
        showInvisibles?: boolean;
        showIndents?: boolean;
        showLineNumbers?: boolean;
        fontSize?: number;
        content?: string;
        change: Function;
    }
    class CodeEditor extends Jade.UI.Control {
        private m_aceEditor;
        private m_changed;
        private m_silentChanges;
        constructor(options: ICodeEditorOptions);
        get aceEditor(): AceAjax.Editor;
        get changeCallback(): Function;
        get changed(): boolean;
        get fontSize(): string;
        set fontSize(value: string);
        get showInvisibles(): boolean;
        set showInvisibles(value: boolean);
        get showIndents(): boolean;
        set showIndents(value: boolean);
        get showLineNumbers(): boolean;
        set showLineNumbers(value: boolean);
        addMarker(message: any, startOnLine: any, endOnLine: any): void;
        clearMarkers(): void;
        setStyle(mimeType: string): void;
        getValue(): string;
        setValue(value: string, silent?: boolean): void;
        showFind(): void;
        showReplace(): void;
        template(): string;
        resetChangedState(): void;
        focus(): void;
        addCommand(shortcut: string, exec: (e: AceAjax.Editor) => void): void;
        protected onActivate(e: any): void;
        private createRange;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class CodeEditorSettings {
        static getTheme(mimeType: string): string;
        static getMode(mimeType: string): string;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxButtonOptions extends Jade.UI.IControlOptions {
        onShowList?: (e: JQueryEventObject) => void;
        onShowDialog?: (e: JQueryEventObject) => void;
        visible?: boolean;
        enabled?: boolean;
        mode: ComboBoxMode;
    }
    class ComboBoxButton extends Jade.UI.Control {
        constructor(options: IComboBoxButtonOptions);
        get visible(): boolean;
        set visible(value: boolean);
        get enabled(): boolean;
        set enabled(value: boolean);
        get mode(): ComboBoxMode;
        get onShowDialogCallback(): (e: JQueryEventObject) => void;
        get onShowListCallback(): (e: JQueryEventObject) => void;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected enableClickHandlers(enabled: boolean): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPopUpOptions extends Jade.UI.IControlOptions {
        height?: number;
        width?: number;
        anchor: JQuery;
        tipped?: Tipped.ITippedOptions;
        onCreate?: Function;
    }
    class PopUp extends Jade.UI.Control {
        private m_popUpCreated;
        constructor(options: IPopUpOptions);
        protected get anchor(): JQuery;
        get height(): number;
        get width(): number;
        get visible(): boolean;
        get tipped(): Tipped.ITippedOptions;
        get onCreateCallback(): Function;
        template(): string | Array<string> | JQuery;
        show(): void;
        hide(): void;
        destroy(): void;
        protected popUp_onCreate(): void;
        private ensureTippedPopUp;
        protected getPopUpOptions(options?: Tipped.ITippedOptions): Tipped.ITippedOptions;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxDataSourceOptions {
        key?: string;
        label?: string;
        data?: Array<any>;
    }
    interface IComboBoxDataSourceFilterEventOptions {
        term: string;
        callback: (data: Jade.Collection<any>) => void;
    }
    class ComboBoxDataSourceFilterEvent {
        private m_result;
        private m_callback;
        private m_term;
        constructor(options: IComboBoxDataSourceFilterEventOptions);
        get term(): string;
        get result(): Jade.Collection<any>;
        complete(): void;
    }
    class ComboBoxDataSource extends Jade.ObservableCollection<any> {
        private m_key;
        private m_label;
        private m_onChange;
        private m_onFilter;
        private m_throttledFilterFunction;
        constructor(options: IComboBoxDataSourceOptions);
        get key(): string;
        get label(): string;
        get onChangeCallback(): (data: Jade.IReadOnlyCollection<any>) => void;
        set onChangeCallback(value: (data: Jade.IReadOnlyCollection<any>) => void);
        get onFilterCallback(): (e: ComboBoxDataSourceFilterEvent) => void;
        set onFilterCallback(value: (e: ComboBoxDataSourceFilterEvent) => void);
        protected onFilter(e: ComboBoxDataSourceFilterEvent): void;
        filter(term: string): void;
        bind(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxEventOptions {
        comboBox: ComboBox;
    }
    class ComboBoxEvent {
        private m_comboBox;
        constructor(options: IComboBoxEventOptions);
        get comboBox(): ComboBox;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxIconOptions extends Jade.UI.IControlOptions {
        path?: string;
    }
    class ComboBoxIcon extends Jade.UI.Control {
        constructor(options?: IComboBoxIconOptions);
        get path(): string;
        set path(value: string);
        get enabled(): boolean;
        set enabled(value: boolean);
        get title(): string;
        set title(value: string);
        get visible(): boolean;
        set visible(value: boolean);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        private setIconPath;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxInputEventOptions extends IComboBoxEventOptions {
        event: JQueryKeyEventObject;
        eventType: Jade.BrowserEvent;
        source: ComboBoxInputEventSource;
    }
    enum ComboBoxInputEventSource {
        mask = 0,
        text = 1
    }
    class ComboBoxInputEvent extends ComboBoxEvent {
        private m_event;
        private m_eventType;
        private m_source;
        constructor(options: IComboBoxInputEventOptions);
        get input(): MaskedTextBox;
        get list(): ComboBoxList;
        get source(): ComboBoxInputEventSource;
        get event(): JQueryKeyEventObject;
        get eventType(): Jade.BrowserEvent;
        get isFilterKey(): boolean;
        get isNavigateUpCommand(): boolean;
        get isNavigateDownCommand(): boolean;
        get isSelectCommand(): boolean;
        get isDeleteCommand(): boolean;
        get isFilterCommand(): boolean;
        get isTabOutCommand(): boolean;
        get isShowListCommand(): boolean;
        get isSwitchToTextCommand(): boolean;
        get isMaskIgnoreEnterKey(): boolean;
        get isMaskDoubleClick(): boolean;
        get isTextBlur(): boolean;
        get isMaskFocus(): boolean;
        get keyCode(): Jade.KeyCode;
        get filterTerm(): string;
        get hasFilterTerm(): boolean;
        execute(): void;
        protected isKeyCode(...keyCodes: Jade.KeyCode[]): boolean;
        protected isSourceEventType(source: ComboBoxInputEventSource, eventType: Jade.BrowserEvent): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IComboBoxListOptions extends IPopUpOptions {
        comboBox: ComboBox;
    }
    class ComboBoxList extends PopUp {
        protected ITEM_SELECTOR: string;
        private m_activeItem;
        private m_comboBox;
        constructor(options: IComboBoxListOptions);
        get comboBox(): ComboBox;
        get activeItem(): ComboBoxListItem;
        set activeItem(value: ComboBoxListItem);
        protected get items(): Jade.IReadOnlyCollection<ComboBoxListItem>;
        protected get message(): Message;
        destroy(): void;
        toggle(): void;
        hide(): void;
        show(): void;
        clear(): void;
        navigateUp(): ComboBoxListItem;
        navigateDown(): ComboBoxListItem;
        selectActiveItem(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        showMessage(text: string): void;
        protected setActiveItem(item: ComboBoxListItem): void;
        protected getPopUpOptions(): Tipped.ITippedOptions;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ICommandButtonOptions extends Jade.UI.IControlOptions {
        commandId: string;
    }
    class CommandButton extends Button {
        private m_commander;
        constructor(options: ICommandButtonOptions);
        protected get commandId(): string;
        get commander(): ControlCommander;
        protected set commander(value: ControlCommander);
        protected get value(): string;
        protected getResolvedIcon(): string;
        protected getTooltip(): string;
        protected isIconVisible(): boolean;
        protected isLabelVisible(): boolean;
        protected onClick(e: JQueryEventObject): void;
        protected onComplete(e: any): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onPropertiesChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IContentPageHeaderOptions extends Jade.UI.IControlOptions {
        title: string;
        subTitle: string;
        icon: string;
    }
    class ContentPageHeader extends Jade.UI.Control {
        constructor(options: IContentPageHeaderOptions);
        get title(): string;
        set title(value: string);
        get subTitle(): string;
        set subTitle(value: string);
        get icon(): string;
        set icon(value: string);
        private get titleNode();
        private get subTitleNode();
        private get iconNode();
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ILoadingMessageOptions {
        message: string;
        margin?: number;
        showLoadingIcon?: boolean;
    }
    class LoadingMessageControl extends Jade.UI.Control {
        constructor(options: ILoadingMessageOptions);
        get message(): string;
        set message(value: string);
        get margin(): number;
        get showLoadingIcon(): boolean;
        get messageNode(): JQuery;
        get tableNode(): JQuery;
        get tableCellNode(): JQuery;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IMaskedTextBoxOptions extends Jade.UI.IControlOptions {
        defaultMaskText?: string;
        onTextFocus?: (e: JQueryEventObject) => void;
        onTextBlur?: (e: JQueryEventObject) => void;
        onTextKeyDown?: (e: JQueryKeyEventObject) => void;
        onTextKeyPress?: (e: JQueryKeyEventObject) => void;
        onTextKeyUp?: (e: JQueryKeyEventObject) => void;
        onMaskDoubleClick?: (e: JQueryEventObject) => void;
        onMaskFocus?: (e: JQueryEventObject) => void;
        onMaskBlur?: (e: JQueryEventObject) => void;
        onMaskKeyDown?: (e: JQueryKeyEventObject) => void;
        onMaskKeyPress?: (e: JQueryKeyEventObject) => void;
        onMaskKeyUp?: (e: JQueryKeyEventObject) => void;
    }
    class MaskedTextBox extends Jade.UI.Control {
        constructor(options: IMaskedTextBoxOptions);
        get maskValue(): string;
        set maskValue(value: string);
        get textValue(): string;
        set textValue(value: string);
        get textNode(): JQuery;
        get maskNode(): JQuery;
        get isInputVisible(): boolean;
        get isMaskVisible(): boolean;
        get isTextFocused(): boolean;
        get isMaskFocused(): boolean;
        get defaultMaskText(): string;
        set defaultMaskText(value: string);
        get textAndMaskNode(): JQuery;
        get enabled(): boolean;
        set enabled(value: boolean);
        get tabIndex(): number;
        set tabIndex(value: number);
        protected onTextBlur(e: JQueryEventObject): void;
        protected onTextFocus(e: JQueryEventObject): void;
        protected onTextKeyDown(e: JQueryKeyEventObject): void;
        protected onTextKeyPress(e: JQueryKeyEventObject): void;
        protected onTextKeyUp(e: JQueryKeyEventObject): void;
        protected onTextDoubleClick(e: JQueryEventObject): void;
        protected onTextShow(): void;
        protected onTextHide(): void;
        protected onMaskBlur(e: JQueryEventObject): void;
        protected onMaskFocus(e: JQueryEventObject): void;
        protected onMaskKeyDown(e: JQueryKeyEventObject): void;
        protected onMaskKeyPress(e: JQueryKeyEventObject): void;
        protected onMaskKeyUp(e: JQueryKeyEventObject): void;
        protected onMaskDoubleClick(e: JQueryEventObject): void;
        protected onMaskShow(): void;
        protected onMaskHide(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        showMask(): void;
        showText(): void;
        focusMask(): void;
        focusText(): void;
        focus(): void;
        template(): string | Array<string> | JQuery;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ISearchBoxOptions extends Jade.UI.IControlOptions {
        onSearch: (e: ISearchBoxOnSearchArgs) => void;
    }
    interface ISearchBoxOnSearchArgs {
        term: string;
    }
    class SearchBox extends MaskedTextBox {
        private m_iconSearch;
        private m_iconCancel;
        private m_searchSubmitted;
        private m_searchSubmittedTerm;
        constructor(options: ISearchBoxOptions);
        private get buttonNode();
        private get onSearchCallback();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onMaskFocus(e: JQueryEventObject): void;
        protected onTextBlur(e: JQueryEventObject): void;
        protected onTextKeyPress(e: JQueryKeyEventObject): void;
        private submitSearch;
        private clearSearch;
        private searchButton_onClick;
        private buttonMode;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IDateTextBoxChangeArgs {
        isValid: boolean;
        value: string;
    }
    interface IDateTextBoxOptions extends Jade.UI.IControlOptions {
        onChange?: (e: IDateTextBoxChangeArgs) => void;
        format?: string;
    }
    class DateTextBox extends Jade.UI.Control {
        private m_popUp;
        constructor(options: IDateTextBoxOptions);
        get popUp(): PopUpCalendar;
        get format(): string;
        set format(value: string);
        get mask(): string;
        set mask(value: string);
        get value(): string;
        set value(value: string);
        get enabled(): boolean;
        set enabled(value: boolean);
        get inputNode(): JQuery;
        get buttonNode(): JQuery;
        get maskNode(): JQuery;
        get tabIndex(): number;
        set tabIndex(value: number);
        private get onChangeCallback();
        private input_onBlur;
        private input_onFocus;
        private mask_onFocus;
        private button_onClick;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        destroy(): void;
        isValid(): boolean;
        getValue(): Date;
        setValue(value: string): void;
        template(): string | Array<string> | JQuery;
        private setFormat;
        private isNull;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPopUpCalendarChangeEventArgs {
        value: Date;
        formattedValue: string;
    }
    interface IPopUpCalendarOptions extends IPopUpOptions {
        value?: Date;
        onChange?: (e: IPopUpCalendarChangeEventArgs) => void;
    }
    class PopUpCalendar extends PopUp {
        constructor(options: IPopUpCalendarOptions);
        private get value();
        private get calendar();
        private get calendarNode();
        private get onChangeCallback();
        protected popUp_onCreate(): void;
        protected getPopUpOptions(): Tipped.ITippedOptions;
        template(): string | Array<string> | JQuery;
        setValue(value: Date): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class GridColumnFormat {
        private static DATE_EXTRACTION_REGEX;
        static Date(column: any, format: string): string;
        static Icon(value: string, virtualDirectory: string): string;
        static BytesToUnits(column: any): string;
        static getFixedLocalDate(time: string): Date;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IGridContextMenuRegistration extends Partial<Jade.UI.IContextMenuSegmentRegistration> {
        type: string;
        context?: Function;
    }
    interface IGridContextMenuOptions {
        grid: PD.Web.UI.Controls.Grid;
        segments: Array<IGridContextMenuRegistration>;
    }
    class GridContextMenu extends Jade.UI.ContextMenu {
        constructor(options: IGridContextMenuOptions);
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum ListViewSelectMode {
        none = "none",
        single = "single",
        multiple = "multiple"
    }
    interface IListViewBaseOptions<T extends ListViewItemBase> extends Jade.UI.IControlOptions {
        selectMode?: ListViewSelectMode;
        height?: string;
        iconSet?: string;
        data?: Array<any>;
        tabIndex?: number;
        change?: (items: IListViewItemCollectionBase<T>) => void;
        remove?: (item: T) => void;
        dblClick?: (items: IListViewItemCollectionBase<T>) => void;
        showCheckboxes?: boolean;
        checkOnSelect?: boolean;
        selectOnCheck?: boolean;
        allowRemove?: boolean;
        createItem?: (data: any) => T;
        binding?: IListViewItemDataBinding;
        noItemsMessage?: string | Function;
    }
    class ListViewBase<T extends ListViewItemBase> extends Jade.UI.Control {
        constructor(options: IListViewBaseOptions<T>);
        get binding(): IListViewItemDataBinding;
        set binding(value: IListViewItemDataBinding);
        get items(): IListViewItemCollectionBase<T>;
        get showCheckboxes(): boolean;
        set showCheckboxes(value: boolean);
        get selected(): IListViewItemCollectionBase<T>;
        get checked(): IListViewItemCollectionBase<T>;
        private get allowRemove();
        protected get checkOnSelect(): boolean;
        private get data();
        private get height();
        private get iconSet();
        private get noItemsMessage();
        private get selectMode();
        protected get selectOnCheck(): boolean;
        private get tabIndex();
        private get changeCallback();
        private get removeCallback();
        private get dblClickCallback();
        private get createItemCallback();
        template(): string | Array<string> | JQuery;
        select(ids: Array<any>): void;
        selectAll(): void;
        deselectAll(): void;
        checkAll(): void;
        uncheckAll(): void;
        removeAll(): void;
        removeSelected(): void;
        refresh(): void;
        addItem(item: any): T;
        removeItem(value: any): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private removeMessage;
        private addMessage;
        private addNoItemsMessage;
        private invokeChangeCallback;
        private createItem;
        private item_select;
        private item_check;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class ListView extends ListViewBase<ListViewItemBase> {
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IListViewItemCollectionBase<T extends ListViewItemBase> extends Jade.IReadOnlyCollection<T> {
        get checked(): IListViewItemCollectionBase<T>;
        filter(fn: (item: T) => boolean): IListViewItemCollectionBase<T>;
        getItemById(id: string): T;
        getItemByValue(value: any): T;
        get selected(): IListViewItemCollectionBase<T>;
    }
    interface IListViewItemCollectionOfOptions<T extends ListViewItemBase> {
        list: ListViewBase<T>;
        items?: Jade.UI.IControlCollection<Jade.UI.Control>;
    }
    class ListViewItemCollectionBase<T extends ListViewItemBase> extends Jade.Collection<ListViewItemBase> {
        private m_list;
        constructor(options: IListViewItemCollectionOfOptions<T>);
        private get list();
        private set list(value);
        get selected(): IListViewItemCollectionBase<T>;
        get checked(): IListViewItemCollectionBase<T>;
        filter(fn: (item: T) => boolean): IListViewItemCollectionBase<T>;
        getItemByValue(value: any): T;
        getItemById(id: string): T;
        private getSelected;
        private getChecked;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IListViewItemDataBinding {
        value?: string;
        label?: string;
        icon?: string;
    }
    interface IListViewItemDataOptions {
        binding: IListViewItemDataBinding;
    }
    class ListViewItemData extends Core.Model {
        constructor(options: IListViewItemDataOptions);
        protected get binding(): IListViewItemDataBinding;
        protected get iconSet(): string;
        get icon(): string;
        get label(): string;
        get state(): Jade.StateBag;
        get value(): any;
        get(name: string, defaultValue?: any): any;
        set(name: string, value: any): any;
        toJSON(): any;
        private getUsingBinding;
        private setUsingBinding;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IMultiSelectOptions extends Jade.UI.IControlOptions {
        onItemChecked?: (e: IMultiSelecItemCheckedArgs) => void;
    }
    interface IMultiSelecItemCheckedArgs {
        itemId: any;
        checked: boolean;
        item: MultiSelectItem;
    }
    class MultiSelect extends Jade.UI.Control {
        constructor(options: IMultiSelectOptions);
        get items(): Jade.IReadOnlyCollection<MultiSelectItem>;
        get enabled(): boolean;
        set enabled(value: boolean);
        private get onItemCheckedCallback();
        get tabIndex(): number;
        set tabIndex(value: number);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        focus(): void;
        template(): string | Array<string> | JQuery;
        private item_onChecked;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IMultiSelecItem {
        itemId: any;
        icon: string;
        label: string;
    }
    interface IMultiSelecItemOptions extends Jade.UI.IControlOptions {
        itemId: any;
        icon: string;
        label: string;
    }
    class MultiSelectItem extends Jade.UI.Control implements IMultiSelecItem {
        constructor(options: IMultiSelecItemOptions);
        get itemId(): any;
        get icon(): string;
        get label(): string;
        get checked(): boolean;
        set checked(value: boolean);
        get enabled(): boolean;
        set enabled(value: boolean);
        private get checkBoxNode();
        private get labeNode();
        get tabIndex(): number;
        set tabIndex(value: number);
        focus(): void;
        template(): string | Array<string> | JQuery;
        onStateChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    enum NumericTextBoxType {
        integer = 1,
        decimal = 2
    }
    interface INumericTextBoxOptions extends Jade.UI.IControlOptions {
        numericType: NumericTextBoxType;
        onValidate?: (isValid: boolean) => void;
        format?: string;
    }
    class NumericTextBox extends MaskedTextBox {
        constructor(options: INumericTextBoxOptions);
        get numericType(): NumericTextBoxType;
        get format(): string;
        get value(): string;
        set value(value: string);
        get tabIndex(): number;
        set tabIndex(value: number);
        private get onValidateCallback();
        private input_onBlur;
        private input_onFocus;
        private mask_onFocus;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        isValid(): boolean;
        getValue(): string;
        setValue(value: any): void;
        private isNull;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuActionOptions extends Jade.UI.IControlOptions {
        description?: string;
        icon?: string;
        iconSet?: string;
        label: string;
        url?: string;
        click?: (e: JQueryEventObject) => void;
    }
    class PanelMenuAction extends Jade.UI.Control {
        constructor(options: IPanelMenuActionOptions);
        private get description();
        private get descriptionNode();
        private get icon();
        private get iconSet();
        get label(): string;
        get labelNode(): JQuery;
        private get url();
        private get hasUrl();
        private get clickCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuHeadingOptions extends Jade.UI.IControlOptions {
        label: string;
    }
    class PanelMenuHeading extends Jade.UI.Control {
        constructor(options: IPanelMenuHeadingOptions);
        get label(): number;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuItemOptions extends Jade.UI.IControlOptions {
    }
    class PanelMenuItem extends Jade.UI.Control {
        constructor(options: IPanelMenuItemOptions);
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuLinkOptions extends Jade.UI.IControlOptions {
        label: string;
        url?: string;
        click?: (e: JQueryEventObject) => void;
        largeText?: boolean;
        target?: string;
        description?: string;
    }
    class PanelMenuLink extends Jade.UI.Control {
        constructor(options: IPanelMenuLinkOptions);
        private get url();
        get label(): string;
        get description(): string;
        private get clickCallback();
        get largeText(): boolean;
        get linkNode(): JQuery;
        get target(): string;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private ensureTooltip;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class PanelMenuSeperator extends Jade.UI.Control {
        constructor();
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPanelMenuTitleOptions extends Jade.UI.IControlOptions {
        label: string;
    }
    class PanelMenuTitle extends Jade.UI.Control {
        constructor(options: IPanelMenuTitleOptions);
        get label(): number;
        template(): string | Array<string> | JQuery;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IPopUpItemOptions extends Jade.UI.IControlOptions {
        uidMap?: string;
        labelMap?: string;
        iconMap?: string;
        click?: Function;
        data: any;
    }
    class PopUpItem extends Jade.UI.Control {
        constructor(options: IPopUpItemOptions);
        get data(): any;
        get uid(): any;
        get uidMap(): string;
        get label(): any;
        get labelMap(): string;
        get icon(): any;
        get iconMap(): string;
        private get clickCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected resolveMap(id: string, defaultValue?: any): any;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IProgressBarOptions extends Jade.UI.IControlOptions {
        color?: string;
        backgroundColor?: string;
        borderColor?: string;
        message?: string;
        showMessage: boolean;
        height?: string;
        width?: string;
    }
    interface IProgressBarUpdateArgs {
        percent?: number;
        color?: string;
        backgroundColor?: string;
        message?: string;
    }
    class ProgressBar extends Jade.UI.Control {
        constructor(options: IProgressBarOptions);
        get backgroundColor(): string;
        set backgroundColor(value: string);
        get borderColor(): string;
        set borderColor(value: string);
        get borderWidth(): string;
        set borderWidth(value: string);
        get color(): string;
        set color(value: string);
        get height(): string;
        get width(): string;
        get showMessage(): boolean;
        get message(): string;
        set message(value: string);
        get percent(): number;
        set percent(value: number);
        get labelNode(): JQuery;
        get barNode(): JQuery;
        template(): string | Array<string> | JQuery;
        update(args: IProgressBarUpdateArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ISingleSelectListOptions extends IComboBoxOptionsOf<ISingleSelectListItem> {
    }
    interface ISingleSelectListItem {
        id: any;
        icon: string;
        label: string;
    }
    class SingleSelectList extends ComboBoxOf<ISingleSelectListItem> {
        constructor(options: ISingleSelectListOptions);
        protected onSelectionChange(selection: ISingleSelectListItem): void;
        protected createListItem(data: any): ComboBoxListItem;
        protected onFilter(e: ComboBoxDataSourceFilterEvent): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ISingleSelectListFieldOptions {
        label: string;
        width: string | number;
        items: Array<ISingleSelectListItem>;
        onValueChanged?: (e: ISingleSelectListItem) => void;
    }
    class SingleSelectListField extends Jade.UI.Control {
        private m_input;
        constructor(options: ISingleSelectListFieldOptions);
        get label(): string;
        set label(value: string);
        get labelNode(): JQuery;
        get width(): string | number;
        set width(value: string | number);
        get input(): SingleSelectList;
        get onValueChangedCallback(): (e: ISingleSelectListItem) => {};
        private get items();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ITabStripOptions extends Jade.UI.IControlOptions {
        tabClick?: (e: TabStripTab) => void;
        tabCreate?: (e: ITabStripTabOptions) => TabStripTab;
        tabs?: Array<ITabStripTab>;
        binding?: ITabStripTabBinding;
    }
    class TabStripTabClickArgs {
        private m_cancel;
        private m_tab;
        constructor(tab: TabStripTab);
        get cancel(): boolean;
        set cancel(value: boolean);
        get tab(): TabStripTab;
    }
    class TabStrip extends Jade.UI.Control {
        constructor(options: ITabStripOptions);
        get binding(): ITabStripTabBinding;
        private get scrollLeftNode();
        private get scrollRightNode();
        private get tabsNode();
        protected get tabOptionsList(): Array<ITabStripTabOptions>;
        protected set tabOptionsList(value: Array<ITabStripTabOptions>);
        private get tabsNodes();
        private get tabClickCallback();
        private get tabCreateCallback();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        protected renderTabs(): void;
        protected onBrowserResize(): void;
        private onTabClick;
        private scrollSelectedTabIntoView;
        private setScrollerVisiblity;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ITabStripTab {
        icon?: string;
        click?: () => void;
        selected?: boolean;
        text?: string;
        value?: any;
        [key: string]: any;
    }
    interface ITabStripTabOptions extends Jade.UI.IControlOptions, ITabStripTab {
        binding?: ITabStripTabBinding;
    }
    class TabStripTab extends Jade.UI.Control {
        private m_binding;
        constructor(options: ITabStripTabOptions);
        get binding(): TabStripTabBinding;
        get selected(): boolean;
        set selected(value: boolean);
        private get clickCallback();
        get hasClickCallback(): boolean;
        get iconNode(): JQuery;
        get textNode(): JQuery;
        get value(): any;
        template(): string | Array<string> | JQuery;
        click(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private setSelected;
        private ensureBindingState;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ITabStripTabBinding extends IStateBindingMap {
        icon?: string;
        text?: string;
        value?: any;
    }
    class TabStripTabBinding extends PDJS.Shared.UI.StateBinding<ITabStripTabBinding> {
        get icon(): string;
        get text(): string;
        get value(): string;
        protected getDefaults(): ITabStripTabBinding;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarOptions extends Jade.UI.IControlOptions {
        segments: Array<ToolbarSegment>;
    }
    class Toolbar extends Jade.UI.Control {
        private m_observer;
        private m_menu;
        private m_overflow;
        constructor(options: IToolbarOptions);
        get items(): Jade.Collection<ToolbarItem>;
        get itemsNode(): JQuery;
        protected get segments(): Array<ToolbarSegment>;
        protected get overflowNode(): JQuery;
        protected get overflow(): ToolbarOverflow;
        template(): string;
        onTemplate(e: Jade.UI.ControlEventArgs): void;
        onActivate(e: any): void;
        onResize(e: any): void;
        private addItems;
        private addResizeObserver;
        private overflow_init;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    class ToolbarCommandButton extends ToolbarCommandItem {
        private get iconNode();
        private get imageNode();
        private get textNode();
        createCopy(): ToolbarCommandButton;
        protected content(): string;
        protected onActivate(e: any): void;
        protected onPropertiesChanged(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarOverflowOptions extends Jade.UI.IControlOptions {
    }
    class ToolbarOverflow extends Jade.UI.Control {
        private m_menu;
        constructor(options: IToolbarOverflowOptions);
        get anchor(): JQuery;
        get imageNode(): JQuery;
        protected get menu(): PopUp;
        protected set menu(value: PopUp);
        template(): string;
        onActivate(e: any): void;
        update(items: Jade.Collection<ToolbarItem>): void;
        show(): void;
        hide(): void;
        private createMenu;
        private onClick;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarOverflowItemOptions {
        item: ToolbarItem;
    }
    class ToolbarOverflowItem extends PDJS.Shared.UI.Controls.PopUpItem {
        private m_item;
        constructor(options: IToolbarOverflowItemOptions);
        get item(): ToolbarItem;
        template(): string;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IToolbarSegmentEventArgsOptions {
        toolbar: Toolbar;
        items: Jade.Collection<ToolbarItem>;
        segment: ToolbarSegment;
    }
    class ToolbarSegmentEventArgs {
        private m_options;
        constructor(options: IToolbarSegmentEventArgsOptions);
        get toolbar(): Toolbar;
        get items(): Jade.IReadOnlyCollection<ToolbarItem>;
        get segment(): ToolbarSegment;
        registerItem(item: ToolbarItem): void;
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ITreeContextMenuRegistration extends Partial<Jade.UI.IContextMenuSegmentRegistration> {
        type: string;
        context?: Function;
    }
    interface ITreeContextMenuOptions extends Jade.UI.IContextMenuOptions {
        target: string;
        tree: kendo.ui.TreeView;
        segments: Array<ITreeContextMenuRegistration>;
    }
    class TreeContextMenu extends Jade.UI.ContextMenu {
        constructor(options: ITreeContextMenuOptions);
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface ITreeViewContextMenuRegistration extends Partial<Jade.UI.IContextMenuSegmentRegistration> {
        type: string;
        context?: Function;
    }
    interface ITreeVieContextMenuOptions {
        tree: kendo.ui.TreeView;
        segments: Array<ITreeViewContextMenuRegistration>;
    }
    class TreeViewContextMenu extends Jade.UI.ContextMenu {
        constructor(options: ITreeVieContextMenuOptions);
    }
}
declare namespace PDJS.Shared.UI.Controls {
    interface IUploadInputOptions extends Jade.UI.IControlOptions {
        onFileSelected?: (e: plupload.File) => void;
        onUploadStart?: (e: plupload.File) => void;
        onUploadComplete?: (e: plupload.File) => void;
    }
    class UploadInput extends Jade.UI.Control {
        private m_uploadFile;
        private m_upload;
        constructor(options: IUploadInputOptions);
        private get browseButtonNode();
        private get labelNode();
        private get scaleNode();
        get uploadId(): string;
        get uploadName(): string;
        get uploadExtension(): string;
        get uploadUniqueName(): string;
        get onFileSelectedCallback(): (e: plupload.File) => void;
        get onUploadStartCallback(): (e: plupload.File) => void;
        get onUploadCompleteCallback(): (e: plupload.File) => void;
        focus(): void;
        template(): string | Array<string> | JQuery;
        setLabelText(value: string): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected upload_onFilesAdded(e: any): void;
        protected upload_onStart(e: any): void;
        protected upload_onProgress(e: any): void;
        protected upload_onComplete(e: any): void;
        protected upload_onError(e: any): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldOptions extends Jade.UI.IControlOptions {
        enabled?: boolean;
        label: string;
        labelColor?: string;
        required?: boolean;
        tooltip?: string;
        validators?: Array<FieldValidator>;
    }
    class Field extends Jade.UI.Control {
        private m_validators;
        private m_errors;
        constructor(options: IFieldOptions);
        get enabled(): boolean;
        set enabled(value: boolean);
        get errors(): Jade.ObservableCollection<FieldValidationError>;
        get validators(): Jade.ObservableCollection<FieldValidator>;
        get isValid(): boolean;
        get label(): string;
        get labelColor(): string;
        get labelNode(): JQuery;
        get tooltip(): string;
        get required(): string;
        protected get controlNode(): JQuery;
        focus(): void;
        validate(): void;
        template(): string | Array<string> | JQuery;
        hasValue(): boolean;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected onValidationErrorChange(): void;
        protected validatorValidate(validator: FieldValidator): boolean;
        private addValidationErrorToolTip;
        private removeValidationErrorToolTip;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IExpressionFieldOptions extends Jade.UI.IControlOptions {
        change?: () => void;
    }
    class ExpressionField extends Field {
        private m_editor;
        construtor(options: any): void;
        protected get aceNode(): JQuery;
        protected get editor(): AceAjax.Editor;
        get value(): string;
        set value(value: string);
        get changeCallback(): () => void;
        insertTag(text: string): void;
        focus(): void;
        blur(): void;
        hasValue(): boolean;
        redraw(): void;
        highlight(texts: string): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldValidationError {
        message: string;
    }
    class FieldValidationError {
        private m_message;
        constructor(options: IFieldValidationError);
        get message(): string;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IBooleanFieldOptions extends IFieldOptions {
        checkboxLabel: string;
        value?: boolean;
    }
    class BooleanField extends Field {
        constructor(options: IBooleanFieldOptions);
        private get checkboxLabel();
        private get checkboxLabelNode();
        private get checkboxNode();
        get value(): boolean;
        set value(value: boolean);
        focus(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    class IntegerField extends Field {
        protected get inputNode(): JQuery;
        get value(): number;
        set value(value: number);
        get rawValue(): string;
        set rawValue(value: string);
        focus(): void;
        hasValue(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IMultiSelectFieldCheckEventArgs {
        node: JQuery;
        data: any;
    }
    interface IMultiSelectFieldBinding {
        label: string;
        value: string;
        checked?: string;
    }
    interface IMultiSelectFieldOptions extends IFieldOptions {
        items: Array<any>;
        height?: string | number;
        width?: string | number;
        check?: (e: IMultiSelectFieldCheckEventArgs) => void;
        binding?: IMultiSelectFieldBinding;
    }
    class MultiSelectField extends Field {
        private SELECT_ALL;
        private m_tree;
        constructor(options: IMultiSelectFieldOptions);
        get selected(): Array<any>;
        get height(): string | number;
        get width(): string | number;
        protected get tree(): kendo.ui.TreeView;
        protected get treeNode(): JQuery;
        protected get checkCallback(): (e: IMultiSelectFieldCheckEventArgs) => void;
        protected get binding(): IMultiSelectFieldBinding;
        protected get items(): Array<any>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private tree_init;
        private tree_onChecked;
        private tree_onSelect;
        private triggerCheck;
        private checkAll;
        private checkNode;
        private setCheckAllState;
        private checkboxesGroupState;
        private getSelectedDataItems;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IProcessComboBoxOptions extends IComboBoxOptionsOf<ISingleSelectListItem> {
        entityTypeId?: number;
    }
    class ProcessComboBox extends PDJS.Shared.UI.Controls.SingleSelectList {
        get entityTypeId(): number;
        set entityTypeId(value: number);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected getRemoteData(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IProcessFieldOptions extends IFieldOptions {
        entityTypeId?: number;
        onSelectionChanged: (item: ISingleSelectListItem) => void;
    }
    class ProcessField extends Field {
        private m_input;
        constructor(options: IProcessFieldOptions);
        get entityTypeId(): number;
        set entityTypeId(value: number);
        get input(): ProcessComboBox;
        get onSelectionChangedCallback(): (item: ISingleSelectListItem) => void;
        get processId(): number;
        get processName(): string;
        hasValue(): boolean;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IProcessStatusComboBoxOptions extends IComboBoxOptionsOf<ISingleSelectListItem> {
    }
    class ProcessStatusComboBox extends PDJS.Shared.UI.Controls.SingleSelectList {
        get processId(): number;
        set processId(value: number);
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onStateChanged(): void;
        protected getRemoteData(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IProcessStatusFieldOptions extends IFieldOptions {
        entityTypeId?: number;
        onSelectionChanged?: (item: ISingleSelectListItem) => void;
    }
    class ProcessStatusField extends Field {
        private m_input;
        constructor(options: IProcessStatusFieldOptions);
        get processId(): number;
        set processId(value: number);
        get statusId(): number;
        get statusName(): string;
        get statusIcon(): string;
        get input(): ProcessStatusComboBox;
        get onSelectionChangedCallback(): (item: ISingleSelectListItem) => void;
        hasValue(): boolean;
        protected onStateChanged(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface ISelectFieldBinding {
        label: string;
        value: string;
    }
    interface ISelectFieldOptions extends IFieldOptions {
        items?: Array<any>;
        binding?: ISelectFieldBinding;
        validateOnChange?: boolean;
        change?: () => void;
    }
    class SelectField extends Field {
        private m_items;
        constructor(options: ISelectFieldOptions);
        protected get selectNode(): JQuery;
        get value(): string;
        set value(value: string | number | boolean);
        get binding(): ISelectFieldBinding;
        set binding(value: ISelectFieldBinding);
        get validateOnChange(): boolean;
        get changeCallback(): () => void;
        private get items();
        private set items(value);
        focus(): void;
        hasValue(): boolean;
        data(items: Array<any>, binding?: ISelectFieldBinding): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
        protected dataBind(): void;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface ISingleSelectField extends IFieldOptions {
        items: Array<ISingleSelectListItem>;
        onValueChanged: (item: ISingleSelectListItem) => void;
    }
    class SingleSelectField extends Field {
        private m_input;
        protected get inputNode(): JQuery;
        get input(): SingleSelectList;
        get data(): ComboBoxDataSource;
        get value(): number;
        set value(value: number);
        get rawValue(): string;
        set rawValue(value: string);
        get onValueChangedCallback(): (item: ISingleSelectListItem) => void;
        hasValue(): boolean;
        clear(): void;
        protected onInit(e: Jade.UI.ControlEventArgs): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IStringFieldOptions extends IFieldOptions {
        minLength?: number;
        maxLength?: number;
        multiline?: boolean;
        height?: number;
        validateOnBlur?: boolean;
        blur?: () => void;
    }
    class StringField extends Field {
        constructor(options: IStringFieldOptions);
        protected get inputNode(): JQuery;
        get value(): string;
        set value(value: string);
        get height(): number;
        get minLength(): number;
        get maxLength(): number;
        get multiline(): boolean;
        get validateOnBlur(): boolean;
        get blurCallback(): () => void;
        focus(): void;
        hasValue(): boolean;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected validatorValidate(validator: FieldValidator): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface ITileFieldBinding {
        label: string;
        value: string;
        image: string;
    }
    interface ITileFieldOptions extends IFieldOptions {
        items?: Array<any>;
        binding?: ITileFieldBinding;
        height?: string;
        change?: () => void;
    }
    class TileField extends Field {
        private m_items;
        constructor(options: ITileFieldOptions);
        protected get tilesNode(): JQuery;
        protected get tiles(): JQuery;
        get value(): string;
        set value(value: string | number | boolean);
        get binding(): ITileFieldBinding;
        set binding(value: ITileFieldBinding);
        get changeCallback(): () => void;
        private get items();
        private set items(value);
        private get height();
        private set height(value);
        hasValue(): boolean;
        data(items: Array<any>, binding?: ITileFieldBinding): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected dataBind(): void;
        protected setValue(value: string): void;
        protected getValue(): string;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldValidatorOptions {
        message?: string;
    }
    class FieldValidator {
        private m_field;
        private m_state;
        constructor(options: IFieldValidatorOptions);
        get field(): Field;
        set field(value: Field);
        protected get message(): string;
        protected set message(value: string);
        protected get state(): Jade.StateBag;
        isValid(value: any): boolean;
        getMessage(fieldLabel: string): string;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldValidatorLengthOptions {
        min?: number;
        max?: number;
    }
    class FieldValidatorLength extends FieldValidator {
        constructor(options: IFieldValidatorLengthOptions);
        private get min();
        private get max();
        isValid(value: string): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldValidatorMultipleOfOptions extends IFieldValidatorOptions {
        multipleOf: number;
    }
    class FieldValidatorMultipleOf extends FieldValidator {
        private m_multipleOf;
        constructor(options: IFieldValidatorMultipleOfOptions);
        protected get multipleOf(): number;
        isValid(value: string): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    interface IFieldValidatorRegexOptions extends IFieldValidatorOptions {
        regularExpression: string;
        expectedResult: boolean;
        flags?: string;
    }
    class FieldValidatorRegex extends FieldValidator {
        private m_expectedResult;
        private m_flags;
        private m_regularExpression;
        constructor(options: IFieldValidatorRegexOptions);
        protected get expectedResult(): boolean;
        protected get flags(): string;
        protected get regularExpression(): string;
        isValid(value: string): boolean;
    }
}
declare namespace PDJS.Shared.UI.Controls.Fields {
    class FieldValidatorRequired extends FieldValidator {
        constructor();
        isValid(value: string): boolean;
    }
}
declare namespace PDJS.Shared.Upload {
    enum Events {
        SetCommandState = "upload/set-command-state"
    }
}
declare namespace PDJS.Shared.Upload {
    class EventsHub extends EventsHubBase {
        static setCommandStatePublish(): void;
        static setCommandStateSubscribe(handler: () => void): Jade.EventBusSubscription;
    }
}
declare namespace PDJS.Shared.Upload {
    interface IConflictDialogResult {
        action: number;
        repeat: boolean;
    }
    interface IConflictDialogOptions extends Jade.UI.IDialogOptions {
        fileName: string;
    }
    class ConflictDialog extends Jade.UI.Dialog {
        private m_list;
        constructor(options: IConflictDialogOptions, windowOptions?: any);
        private get fileName();
        private get list();
        private set list(value);
        private get repeatNode();
        template(): string;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private init_list;
        private getHeaderText;
        private getConflictText;
        private getIcon;
        private getResolveText;
        private getSkipText;
        static open(options: IConflictDialogOptions): ConflictDialog;
    }
}
declare namespace PDJS.Shared.Upload {
    interface IUploadDialogOptions extends Jade.UI.IDialogOptions {
        uploader: Uploader;
    }
    class UploadDialog extends Jade.UI.Dialog {
        private m_progressbar;
        private m_toolbar;
        private m_list;
        private static m_instance;
        constructor(options: IUploadDialogOptions);
        private get folderId();
        private static get instance();
        private static set instance(value);
        private get uploader();
        private get list();
        private set list(value);
        private get progressbar();
        private set progressbar(value);
        private get toolbar();
        private set toolbar(value);
        private get cancelButtonNode();
        private get commitButtonNode();
        private get uploadButtonNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: any): void;
        close(options?: any): void;
        template(): JQuery | Array<string> | string;
        protected getWindowOptions(): any;
        private commit;
        private list_init;
        private progressbar_init;
        private toolbar_init;
        private uploader_init;
        private setButtonDisplay;
        private setUploadButtonDisplay;
        private setCancelButtonDisplay;
        private setCommitButtonDisplay;
        private setCommandState;
        private setPendingUploadMessage;
        private commit_serviceCall;
        private commit_handleError;
        static open(options: IUploadDialogOptions): UploadDialog;
    }
}
declare namespace PDJS.Shared.Upload {
    interface IUploadListOptions extends Jade.UI.IControlOptions {
        items?: Array<Core.Upload.IUploadFile>;
        change: Function;
    }
    class UploadList extends Jade.UI.Control {
        private m_list;
        constructor(options: IUploadListOptions);
        get changeCallback(): Function;
        private get list();
        private set list(value);
        private get items();
        get selected(): Array<UploadListItem>;
        templateContent(): string;
        addItem(file: UploaderFile): void;
        updateItem(file: Core.Upload.IUploadFile): void;
        removeItem(value: any): void;
        getSelected(): Array<UploadListItem>;
        clear(): void;
        protected onActivate(e: any): void;
        protected onStateChanged(): void;
        private list_init;
        private getListItem;
    }
}
declare namespace PDJS.Shared.Upload {
    class UploadListItem extends UI.Controls.ListViewItem {
        private m_progress;
        private get name();
        private get progress();
        private set progress(value);
        get percent(): number;
        get status(): plupload.FileStatus;
        get statusImageNode(): JQuery;
        templateContent(): string;
        update(data: Core.Upload.IUploadFile): void;
        protected onActivate(e: any): void;
        protected onStateChanged(): void;
        private progress_init;
        private getIcon24;
    }
}
declare namespace PDJS.Shared.Upload {
    type UploaderCallback = (sender: UploaderBase) => void;
    type UploaderErrorCallback = (sender: UploaderBase, e: UploaderError) => void;
    type UploaderFileCallback = (sender: UploaderBase, e: UploaderFile) => void;
    type UploaderFileCollectionCallback = (sender: UploaderBase, e: IUploaderFileCollection) => void;
    enum UploaderStatus {
        STARTED = 1,
        STOPPED = 2,
        UPLOADING = 3
    }
    interface IUploaderBaseOptions extends Jade.UI.IControlOptions {
        containerNode: JQuery;
        dropNode?: JQuery;
        selectButtonNode?: JQuery;
        onBeforeUpload?: UploaderFileCallback;
        onBrowse?: UploaderCallback;
        onUploadProgress?: UploaderFileCallback;
        onFileUploaded?: UploaderFileCallback;
        onFileRemoved?: UploaderFileCallback;
        onQueueChanged?: UploaderFileCollectionCallback;
        onUploadComplete?: UploaderFileCollectionCallback;
        onFilesAdded?: UploaderFileCollectionCallback;
        onFilesReady?: UploaderFileCollectionCallback;
        onError?: (sender: Uploader, e: IUploaderError) => void;
    }
    class UploaderBase extends Core.Model {
        private m_status;
        private m_uploader;
        private static m_registrations;
        constructor(options: IUploaderBaseOptions);
        get files(): IUploaderFileCollection;
        get ID(): string;
        set ID(value: string);
        get isInitialized(): boolean;
        get isStarted(): boolean;
        get isStopped(): boolean;
        get isUploading(): boolean;
        get onBeforeUploadCallback(): UploaderFileCallback;
        set onBeforeUploadCallback(value: UploaderFileCallback);
        get onBrowseCallback(): UploaderCallback;
        set onBrowseCallback(value: UploaderCallback);
        get onErrorCallback(): UploaderErrorCallback;
        set onErrorCallback(value: UploaderErrorCallback);
        get onFileRemovedCallback(): UploaderFileCallback;
        set onFileRemovedCallback(value: UploaderFileCallback);
        get onFilesAddedCallback(): UploaderFileCollectionCallback;
        set onFilesAddedCallback(value: UploaderFileCollectionCallback);
        get onFileUploadedCallback(): UploaderFileCallback;
        set onFileUploadedCallback(value: UploaderFileCallback);
        get onQueueChangedCallback(): UploaderFileCollectionCallback;
        set onQueueChangedCallback(value: UploaderFileCollectionCallback);
        get onUploadProgressCallback(): UploaderFileCallback;
        set onUploadProgressCallback(value: UploaderFileCallback);
        get onUploadCompleteCallback(): UploaderFileCollectionCallback;
        set onUploadCompleteCallback(value: UploaderFileCollectionCallback);
        get status(): UploaderStatus;
        protected set status(value: UploaderStatus);
        get totalPercent(): number;
        set totalPercent(value: number);
        get uploader(): plupload.IUploader;
        set uploader(value: plupload.IUploader);
        get uploadState(): plupload.UploaderState;
        protected get containerNode(): JQuery;
        protected get dropNode(): JQuery;
        protected get selectButtonNode(): JQuery;
        protected onBrowse(sender: plupload.IUploader): void;
        protected onBeforeUpload(sender: plupload.IUploader, e: plupload.File): void;
        protected onError(e: IUploaderError): void;
        protected onFileUploaded(sender: plupload.IUploader, e: plupload.File): void;
        protected onFilesAdded(sender: plupload.IUploader, e: any): void;
        protected onFileRemoved(sender: plupload.IUploader, e: any): void;
        protected onQueueChanged(sender: plupload.IUploader, e: any): void;
        protected onUploadComplete(sender: plupload.IUploader, e: any): void;
        protected onUploadProgress(sender: plupload.IUploader, e: any): void;
        protected onUploaderStateChange(): void;
        init(): void;
        startUpload(): void;
        stopUpload(): void;
        showOpenDialog(): void;
        clear(): void;
        refresh(): void;
        removeFile(fileId: string): void;
        protected onInitialize(): void;
        protected onRegisterEventHandlers(): void;
        static create(options: IUploaderOptions): Uploader;
        static destroy(container: JQuery): void;
    }
}
declare namespace PDJS.Shared.Upload {
    type UploaderCommitCallback = (window: Jade.UI.Window, e: any) => void;
    type UploaderCommitSuccessCallback = (window: Jade.UI.Window, e: {
        ids: Array<string>;
    }) => void;
    interface IUploaderOptions extends IUploaderBaseOptions {
        folderId: string | Function;
        commitAfterUpload?: boolean;
        onShowDialog?: UploaderCallback;
        onUploadCommit?: UploaderFileCollectionCallback;
        onCommitSuccess?: UploaderCommitSuccessCallback;
    }
    class Uploader extends UploaderBase {
        constructor(options: IUploaderOptions);
        get folderId(): string;
        get commitAfterUpload(): boolean;
        get onOpenUploadDialogCallback(): UploaderCallback;
        set onOpenUploadDialogCallback(value: UploaderCallback);
        get onCommitSuccessCallback(): UploaderCommitSuccessCallback;
        set onCommitSuccessCallback(value: UploaderCommitSuccessCallback);
        protected onFilesAdded(sender: plupload.IUploader, e: any): void;
        protected onUploaderStateChange(): void;
        openUploadDialog(): void;
    }
}
declare namespace PDJS.Shared.Upload {
    class UploaderCommand extends Jade.Command {
        constructor();
        protected get uploader(): Uploader;
        protected get list(): UploadList;
        protected get progressbar(): PDJS.Shared.UI.Controls.ProgressBar;
        protected setCommandState(): void;
    }
}
declare namespace PDJS.Shared.Upload {
    class AddFilesCommand extends UploaderCommand {
        setState(state: any): void;
        execute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Upload {
    class RemoveFilesCommand extends UploaderCommand {
        setState(state: any): void;
        execute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Upload {
    class ClearFilesCommand extends UploaderCommand {
        setState(state: any): void;
        execute(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Upload {
    class UploaderCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Upload {
    class UploaderFile extends Core.Upload.UploadFile {
    }
}
declare namespace PDJS.Shared.Upload {
    interface IUploaderFileCollection {
        get done(): UploaderFileCollection;
        get failed(): UploaderFileCollection;
        get queued(): UploaderFileCollection;
        get uploading(): UploaderFileCollection;
        zeroLengthFiles(): UploaderFileCollection;
        removeById(id: String): void;
        getById(id: string): UploaderFile;
        getByStatus(...status: plupload.FileStatus[]): UploaderFileCollection;
        each(callback: (item: UploaderFile, index?: number) => void): void;
        get count(): number;
        transform(fn: Function): any;
        toArray(): Array<UploaderFile>;
    }
    class UploaderFileCollection extends Jade.ObservableCollection<UploaderFile> implements IUploaderFileCollection {
        constructor(data?: Array<plupload.File>, callbacks?: Jade.IObservableCollectionEventCallbacks<UploaderFile>);
        get done(): UploaderFileCollection;
        get failed(): UploaderFileCollection;
        get queued(): UploaderFileCollection;
        get uploading(): UploaderFileCollection;
        zeroLengthFiles(): UploaderFileCollection;
        removeById(id: String): void;
        getById(id: string): UploaderFile;
        getByStatus(...status: plupload.FileStatus[]): UploaderFileCollection;
        truncate(size: number): void;
    }
}
declare namespace PDJS.Shared.Upload {
    class UploaderToolbar extends PDJS.Shared.UI.Controls.ToolbarSegment {
        onAddItems(e: PDJS.Shared.UI.Controls.ToolbarSegmentEventArgs): void;
    }
}
declare namespace PDJS.Shared.Upload {
    interface IUploaderError {
        code: ErrorDetailType;
        message?: string;
        file?: plupload.File;
        uploader: Uploader;
    }
    class UploaderError extends Core.Model {
        private m_file;
        private m_response;
        private m_detail;
        constructor(options: IUploaderError);
        get code(): number;
        get detail(): IErrorDetail;
        get file(): UploaderFile;
        get message(): string;
        private set message(value);
        get response(): JQueryXHR;
        get title(): string;
    }
}
declare namespace PDJS.Shared.Upload {
    type ErrorDetailDictionary = {
        [key: number]: IErrorDetail;
    };
    interface IErrorDetail {
        code: number;
        message: string;
        title: string;
    }
    enum ErrorDetailType {
        HTTP_ERROR = 400,
        CANNOT_READ_FILE = -300,
        FILE_TOO_LARGE = -600,
        INVALID_EXTENSION = -601,
        MAX_FILE_COUNT_EXCEEDED = 1000
    }
    class UploaderErrorDetails extends Core.Upload.UploadFile {
        private static m_errors;
        private static get errors();
        static addErrorDetail(error: IErrorDetail): void;
        static resolveError(errorType: ErrorDetailType): IErrorDetail;
    }
}
declare namespace PDJS.Shared.Views {
    enum ViewComponentType {
        Design = "design",
        Bounds = "bounds",
        FindInResults = "findinresults"
    }
}
declare namespace PDJS.Shared.Views {
    enum Events {
        ColumnsAdded = "ColumnsAdded",
        ColumnsRemoved = "ColumnsRemoved",
        ColumnsCleared = "ColumnsCleared",
        ColumnNameEdit = "ColumnNameEdit",
        AddedColumnsChanged = "AddedColumnsChanged",
        AddedColumnsMoved = "AddedColumnsMoved",
        FinderSettingsChanged = "FinderSettingsChanged",
        FiltersAdded = "FiltersAdded",
        FiltersRemoved = "FiltersRemoved",
        FiltersCleared = "FiltersCleared",
        FiltersDuplicate = "FiltersDuplicate",
        ConditionsAdded = "ConditionsAdded",
        ConditionsConverted = "ConditionsConverted",
        EntTypeAnchorsChanged = "EntTypeAnchorsChanged",
        DocTypeAnchorsChanged = "DocTypeAnchorsChanged"
    }
}
declare namespace PDJS.Shared.Views {
    class AnchorsCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    interface IDocumentTypeAnchor {
        id: number;
        name: string;
        category: string;
    }
    class DocTypeAnchorsCommand extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get viewStateId(): string;
        protected get foundAnchors(): Array<IDocumentTypeAnchor>;
        protected get addedAnchors(): Array<IDocumentTypeAnchor>;
        protected get addedAnchorsAll(): Array<IDocumentTypeAnchor>;
        protected get editorGrid(): PD.Web.UI.Controls.Grid;
        protected get finderGrid(): PD.Web.UI.Controls.Grid;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class DocTypeAnchorsCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    interface IDocTypeAnchorsEditorOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class DocTypeAnchorsEditor extends Jade.UI.Control {
        private m_toolbar;
        private m_grid;
        private m_data;
        constructor(options: IDocTypeAnchorsEditorOptions);
        private get viewStateId();
        private get toolbarNode();
        private get contentNode();
        private get headerNode();
        get columns(): Array<IColumn>;
        template(): string | Array<string> | JQuery;
        save(): Array<IDocumentTypeAnchor>;
        load(data: Array<IDocumentTypeAnchor>): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private updateContextState;
    }
}
declare namespace PDJS.Shared.Views {
    class DocTypeAnchorsFeature extends FeatureBlendJS.Views.MacroEditorBase {
        private m_splitter;
        private m_finder;
        private m_editor;
        constructor(options: any);
        private get documentTypesViewStateId();
        private get viewStateId();
        private get splitterNode();
        template(): string | Array<string> | JQuery;
        resize(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        private finder_init;
        private editor_init;
        private splitter_init;
    }
}
declare namespace PDJS.Shared.Views {
    interface IDocTypeAnchorsFinderOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class DocTypeAnchorsFinder extends Jade.UI.Control {
        private m_grid;
        constructor(options: IDocTypeAnchorsFinderOptions);
        private get viewStateId();
        private get contentNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private updateContextState;
    }
}
declare namespace PDJS.Shared.Views {
    class DocTypeAnchorsToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class AddDocTypeAnchorsCommand extends DocTypeAnchorsCommand {
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class ClearDocTypeAnchorsCommand extends DocTypeAnchorsCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class RemoveDocTypeAnchorsCommand extends DocTypeAnchorsCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    interface IEntityTypeAnchor {
        depth?: number;
        id?: number;
        parts: Array<IEntityTypeAnchorPart>;
        path?: string;
        target?: string;
    }
    interface IEntityTypeAnchorPart {
        id: number;
        name: string;
    }
    class EntTypeAnchorsCommand extends Jade.Command {
        constructor(options: Jade.ICommandProps);
        protected get viewStateId(): string;
        protected get foundAnchors(): Array<IEntityTypeAnchor>;
        protected get addedAnchors(): Array<IEntityTypeAnchor>;
        protected get addedAnchorsAll(): Array<IEntityTypeAnchor>;
        protected get editorGrid(): PD.Web.UI.Controls.Grid;
        protected get finderGrid(): PD.Web.UI.Controls.Grid;
        protected get featureEditor(): EntTypeAnchorsFeature;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    interface IEntTypeAnchorsEditorOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class EntTypeAnchorsEditor extends Jade.UI.Control {
        private m_toolbar;
        private m_grid;
        constructor(options: IEntTypeAnchorsEditorOptions);
        private get viewStateId();
        private get toolbarNode();
        private get contentNode();
        private get headerNode();
        template(): string | Array<string> | JQuery;
        load(data: Array<Array<IEntityTypeAnchorPart>>): void;
        save(): Array<Array<IEntityTypeAnchorPart>>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private updateContextState;
    }
}
declare namespace PDJS.Shared.Views {
    class EntTypeAnchorsFeature extends FeatureBlendJS.Views.MacroEditorBase {
        private m_splitter;
        private m_finder;
        private m_editor;
        constructor(options: any);
        private get viewStateId();
        private get splitterNode();
        template(): string | Array<string> | JQuery;
        resize(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected onComplete(e: Jade.UI.ControlEventArgs): void;
        private finder_init;
        private editor_init;
        private splitter_init;
    }
}
declare namespace PDJS.Shared.Views {
    interface IEntTypeAnchorsFinderOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class EntTypeAnchorsFinder extends Jade.UI.Control {
        private m_grid;
        private m_searchBox;
        constructor(options: IEntTypeAnchorsFinderOptions);
        private get viewStateId();
        private get contentNode();
        private get searchTerm();
        private set searchTerm(value);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private searchBox_init;
        private updateContextState;
    }
}
declare namespace PDJS.Shared.Views {
    class EntTypeAnchorsToolbar extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    interface IEntTypeGridRecord {
        depth: number;
        parts: Array<IEntityTypeAnchorPart>;
    }
    class AddEntTypeAnchorsCommand extends EntTypeAnchorsCommand {
        private get grid();
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        private populate;
        private mergeRecord;
    }
}
declare namespace PDJS.Shared.Views {
    class ClearEntTypeAnchorsCommand extends EntTypeAnchorsCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    interface IColumnsDialogOptions extends Jade.UI.IDialogOptions {
        componentType?: ViewComponentType;
        viewStateId: string;
    }
    interface IColumn {
        defaultName: string;
        foundIn: string;
        id: string;
        name: string;
        sources: Array<any>;
        uid: string;
        usedBy: string;
        width: number;
    }
    class ColumnsDialog extends Jade.UI.Dialog {
        private m_splitter;
        private m_editor;
        private m_finder;
        private m_popup;
        constructor(options: IColumnsDialogOptions);
        private get componentType();
        private get okButtonNode();
        private get cancelButtonNode();
        private get settingsButtonNode();
        private get viewStateId();
        private get contentNode();
        private get splitterNode();
        private get buttonsNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private settingsButton_onClick;
        private splitter_init;
        private editor_init;
        private finder_init;
        private popup_init;
        private getDialogTitle;
        private initializationRequest;
        static open(options: IColumnsDialogOptions, windowOptions?: {}): ColumnsDialog;
    }
}
declare namespace PDJS.Shared.Views {
    interface IColumnsDialogCommandOptions extends Jade.ICommandProps {
    }
    class ColumnsDialogCommand extends Jade.Command {
        constructor(options: IColumnsDialogCommandOptions);
        protected get componentType(): ViewComponentType;
        protected get viewStateId(): string;
        protected get foundColumns(): Array<IColumn>;
        protected get addedColumns(): Array<IColumn>;
        protected get addedColumnsAll(): Array<IColumn>;
        protected get editorGrid(): PD.Web.UI.Controls.Grid;
        protected get finderGrid(): PD.Web.UI.Controls.Grid;
        protected get columnNameEditors(): ColumnsEditorNameEditorMap;
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onExecuteForBounds(): void;
        protected onExecuteForDesign(): void;
    }
}
declare namespace PDJS.Shared.Views {
    class ColumnsDialogCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class ColumnsDialogContextMenuSegment extends Jade.UI.ContextMenuSegment {
        onAddItems(e: Jade.UI.ContextMenuOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class ColumnsDialogToolBarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class AddColumnCommand extends ColumnsDialogCommand {
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onExecuteForBounds(): void;
        protected onExecuteForDesign(): void;
    }
}
declare namespace PDJS.Shared.Views {
    class ClearColumnsCommand extends ColumnsDialogCommand {
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onExecuteForBounds(): void;
        protected onExecuteForDesign(): void;
    }
}
declare namespace PDJS.Shared.Views {
    class EditColumnCommand extends ColumnsDialogCommand {
        private get selectedItem();
        private get editor();
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        onExecute(e: any): void;
        private showEditState;
    }
}
declare namespace PDJS.Shared.Views {
    enum MoveDirection {
        up = "up",
        down = "down"
    }
    interface IMoveColumnCommandOptions extends IColumnsDialogCommandOptions {
        id: string;
        icon: string;
        label: string;
        tooltip: string;
        moveDirection: MoveDirection;
    }
    class MoveColumnCommand extends ColumnsDialogCommand {
        constructor(options: IMoveColumnCommandOptions);
        private get moveDirection();
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onExecuteForBounds(): void;
        protected onExecuteForDesign(): void;
        private move;
        private transfer;
    }
    interface MoveArgs {
        column: IColumn;
        index: number;
        movingColumns: Array<IColumn>;
        movingColumnsIds: Array<string>;
    }
}
declare namespace PDJS.Shared.Views {
    class RemoveColumnCommand extends ColumnsDialogCommand {
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected onExecuteForBounds(): void;
        protected onExecuteForDesign(): void;
    }
}
declare namespace PDJS.Shared.Views {
    enum AddedColumnsChangedEventType {
        add = "add",
        remove = "remove",
        clear = "clear"
    }
    interface AddedColumnsChangedEventArgs {
        columns?: Array<IColumn>;
        added?: Array<IColumn>;
        removed?: Array<IColumn>;
        eventType?: AddedColumnsChangedEventType;
    }
    interface IColumnsEditorOptions extends Jade.UI.IControlOptions {
        componentType?: ViewComponentType;
        viewStateId: string;
    }
    class ColumnsEditor extends Jade.UI.Control {
        private m_toolbar;
        private m_grid;
        private m_nameEditorsMap;
        private m_data;
        constructor(options: IColumnsEditorOptions);
        private get componentType();
        private get viewStateId();
        private get toolbarNode();
        private get contentNode();
        private get headerNode();
        get columns(): Array<IColumn>;
        template(): string | Array<string> | JQuery;
        save(callback: Function): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private initializationRequest;
        private grid_addColumns;
        private grid_removeColumns;
        private grid_clearColumns;
        private grid_moveColumns;
        private grid_publishAddedColumnsChangedEvent;
        private updateViewColumnsContextState;
    }
}
declare namespace PDJS.Shared.Views {
    interface IColumnsEditorNameEditorOptions extends Jade.UI.IControlOptions {
        column: IColumn;
    }
    class ColumnsEditorNameEditor extends Jade.UI.Control {
        constructor(options: IColumnsEditorNameEditorOptions);
        private get column();
        private get inputNode();
        private get grid();
        private get dataource();
        private get labelNode();
        get isInEditMode(): boolean;
        get isNotOriginalName(): boolean;
        template(): string | Array<string> | JQuery;
        edit(): void;
        revert(): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private onDoubleClick;
        private onBlur;
        private onKeyUp;
        private enterEditMode;
        private commitChange;
        private setCssStyle;
    }
}
declare namespace PDJS.Shared.Views {
    class ColumnsEditorNameEditorMap {
        private m_map;
        add(e: IColumn): void;
        remove(uid: string): void;
        clear(): void;
        exists(uid: string): boolean;
        get(uid: string): ColumnsEditorNameEditor;
    }
}
declare namespace PDJS.Shared.Views {
    enum ColumnFinderType {
        Columns = 0,
        Filters = 1
    }
    interface IColumnsFinderOptions extends Jade.UI.IControlOptions {
        columnFinderType: ColumnFinderType;
        componentType?: ViewComponentType;
        excludeColumns?: Array<IColumn>;
        viewStateId: string;
        onDoubleClick?: Function;
    }
    class ColumnsFinder extends Jade.UI.Control {
        private m_grid;
        private m_toolbar;
        constructor(options: IColumnsFinderOptions);
        private get componentType();
        private get viewStateId();
        private get contentNode();
        private get excludeColumns();
        private set excludeColumns(value);
        private get anchorDepths();
        private get columnFinderType();
        private get onDoubleClickCallback();
        template(): string | Array<string> | JQuery;
        getSelections(): Array<IColumn>;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private grid_init;
        private toolbar_init;
        private draggable_init;
        private contextMenu_init;
    }
}
declare namespace PDJS.Shared.Views {
    interface IColumnsFinderDialogOptions extends Jade.UI.IDialogOptions {
        componentType?: ViewComponentType;
        viewStateId: string;
    }
    class ColumnsFinderDialog extends Jade.UI.Dialog {
        private m_finder;
        private m_popup;
        constructor(options: IColumnsDialogOptions);
        private get componentType();
        private get okButtonNode();
        private get cancelButtonNode();
        private get settingsButtonNode();
        private get viewStateId();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private settingsButton_onClick;
        private finder_init;
        private popup_init;
        private getDialogTitle;
        private initializationRequest;
        private okAndClose;
        static open(options: IColumnsFinderDialogOptions, windowOptions?: {}): ColumnsFinderDialog;
    }
}
declare namespace PDJS.Shared.Views {
    interface IAnchorDepth {
        name: string;
        value: number;
    }
    interface IColumnsFinderToolbarOptions extends Jade.UI.IControlOptions {
        anchorDepths: Array<IAnchorDepth>;
        onAnchorDepthChange: () => void;
        onFilterChange: (term: string) => void;
    }
    class ColumnsFinderToolbar extends Jade.UI.Control {
        private m_searchBox;
        constructor(options: IColumnsFinderToolbarOptions);
        get searchTerm(): string;
        set searchTerm(value: string);
        get anchorDepth(): number;
        get onAnchorDepthChangeCallback(): () => void;
        get onFilterChangeCallback(): (term: string) => void;
        get anchorDepthNode(): JQuery;
        get anchorDepths(): Array<IAnchorDepth>;
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected searchBox_init(): void;
        protected anchorDepth_init(): void;
    }
}
declare namespace PDJS.Shared.Views {
    interface IColumnsFinderSettings extends PDJS.Shared.UI.Controls.IPopUpOptions {
        componentType: ViewComponentType;
        viewStateId: string;
    }
    class ColumnsFinderSettings extends PDJS.Shared.UI.Controls.PopUp {
        constructor(options: IColumnsFinderSettings);
        private get componentType();
        private get okButtonNode();
        private get cancelButtonNode();
        private get viewStateId();
        private get contentNode();
        private get buttonsNode();
        private get headerNode();
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getPopUpOptions(): Tipped.ITippedOptions;
        private addContent;
        private addCheckBoxHeader;
        private addCheckBoxInput;
        private getFinderSettings;
        private setFinderSettings;
        private getFlagValue;
    }
}
declare namespace PDJS.Shared.View {
    enum TemplateTarget {
        origin = 0,
        parent = 1,
        siblings = 2,
        children = 4,
        all = 8
    }
    enum CssSelectors {
        innerItem = "li[data-uid] span.k-in",
        conditions = ".-pd-condition",
        topMidBot = ".k-top, .k-mid, .k-bot"
    }
    interface IConstraintsTreeEventArgs {
        constraint: PDJS.Core.Views.Constraint;
        node: JQuery;
    }
    interface IConstraintsTreeDropEventArgs {
        srcId: string;
        srcNode: JQuery;
        srcRole: string;
        dstId: string;
        dstNode: JQuery;
        dstRole: string;
    }
    interface IConstraintsTreeLinkClickEventArgs {
        type: "condition" | "filter";
    }
    interface IFiltersTreeOptions extends Jade.UI.IControlOptions {
        constraints: PDJS.Core.Views.Constraints;
        onConstraintEdit?: (e: PDJS.Core.Views.Constraint) => void;
        onConstraintMove?: (e: PDJS.Core.Views.Constraint) => void;
        onClickConstraintLink?: (e: IConstraintsTreeLinkClickEventArgs) => void;
        onChange?: (e: IConstraintsTreeEventArgs) => void;
        onConstraintDblClick: (e: IConstraintsTreeEventArgs) => void;
        contextMenu: string;
    }
    class ConstraintsTree extends Jade.UI.Control {
        private m_tree;
        private m_constraints;
        constructor(options: IFiltersTreeOptions);
        get treeNode(): JQuery;
        get tree(): kendo.ui.TreeView;
        private get dataSource();
        private get constraints();
        private get onChangeCallback();
        private get onConstraintDblClickCallback();
        private get onClickConstraintLinkCallback();
        get selectedNode(): JQuery;
        get selectedConstraint(): PDJS.Core.Views.Constraint;
        get contextMenu(): string;
        get rootConditionNode(): JQuery;
        get rootConditionData(): kendo.data.Node;
        template(): string | Array<string> | JQuery;
        addFilter(filtersOptions: PDJS.Core.Views.IFilterOptions | Array<PDJS.Core.Views.IFilterOptions>): void;
        addCondition(conditionOptions: PDJS.Core.Views.IConditionOptions): void;
        remove(id: string): void;
        clear(): void;
        setConditionOperator(id: string, operatorName: "AND" | "OR"): void;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        private init_contextMenu;
        private tree_init;
        private tree_onTemplate;
        private tree_onChange;
        private tree_onDblClick;
        private tree_onDrag;
        private tree_onDrop;
        private tree_onDataBound;
        private tree_onCheck;
        private restoreCheckState;
        private move;
        private initializeNodes;
        private initializeNode;
        private formatNodes;
        private setIndentation;
        private setIndentations;
        private getFallbackNode;
        private applyNodeTemplate;
        private applyNodeTemplateToParent;
        private applyNodeTemplateToSiblings;
        private applyNodeTemplateToChildren;
        applyNodeTemplateToAllAdjacent(id: string): void;
        private getParentCondition;
        private getParentConditionNode;
        private generateFilters;
        private ensureProperFilterDropLocation;
        private getInsertNode;
        private showMessage;
    }
}
declare namespace PDJS.Shared.Views {
    interface IFiltersEditorOptions extends Jade.UI.IControlOptions {
        componentType?: ViewComponentType;
        viewStateId: string;
    }
    class FiltersEditor extends Jade.UI.Control {
        private m_toolbar;
        private m_tree;
        private m_data;
        constructor(options: IColumnsEditorOptions);
        private get componentType();
        private get viewStateId();
        private get toolbarNode();
        private get contentNode();
        private get headerNode();
        template(): string | Array<string> | JQuery;
        save(callback: Function): void;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private tree_init;
        private toolbar_init;
        private initializationRequest;
    }
}
declare namespace PDJS.Shared.Views {
    class FiltersEditorTemplates {
        static filterTemplate(filter: IFilter): string;
        static conditionTemplate(condition: ICondition): string;
        static applyContentTemplate(node: JQuery, content: string): void;
        private static convertOperatorToText;
    }
}
declare namespace PDJS.Shared.Views {
    interface IFiltersItemBase {
        uid?: string;
        role?: "filter" | "condition";
        enabled?: boolean;
        expanded?: boolean;
        selected?: boolean;
        checked?: boolean;
    }
    interface ICondition extends IFiltersItemBase {
        type?: "AND" | "OR";
        conditions?: Array<ICondition>;
        filters?: Array<IFilter>;
        children?: Array<IFilter | ICondition>;
        items?: Array<IFilter | ICondition>;
    }
    interface IFilter extends IFiltersItemBase {
        id: string;
        name: string;
        operator?: FilterOperator;
        value?: any;
        verse?: string;
    }
    enum FilterOperator {
        NotSet = 0,
        EQ = 1,
        NE = 2,
        GE = 4,
        GT = 8,
        LE = 16,
        LT = 32,
        IsNull = 64,
        NotNull = 128,
        StartsWith = 256,
        EndsWith = 512,
        Contains = 1024,
        HasTag = 2048,
        NotStartsWith = 4096,
        NotEndsWith = 8192,
        NotContains = 16384,
        NotHasTag = 32768,
        InList = 65536,
        NotInList = 131072
    }
    interface IFiltersEditorTreeOptions extends Jade.UI.IControlOptions {
        viewStateId: string;
    }
    class FiltersEditorTree extends Jade.UI.Control {
        private m_tree;
        constructor(options: IFiltersEditorTreeOptions);
        private get viewStateId();
        private get tree();
        private get treeNode();
        template(): string;
        load(condition: ICondition): void;
        pull(): ICondition;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        private tree_init;
        private tree_nodeDoubleClick;
        private tree_drag;
        private tree_drop;
        private tree_dragend;
        private parseToTreeData;
        private parseFromTreeData;
        private pushContextState;
        private check;
        private showMessage;
    }
}
declare namespace PDJS.Shared.Views {
    class FiltersEditorTreeActions {
        static addCondtion(tree: kendo.ui.TreeView, condition: ICondition): JQuery;
        static addFilter(tree: kendo.ui.TreeView, filter: IFilter, parentNode?: JQuery): JQuery;
        static getLastChildCondition(root: JQuery): JQuery;
        static getFirstChildFilter(root: JQuery): JQuery;
        private static addConditionWhenFilterSelected;
        private static addConditionWhenConditionSelected;
    }
}
declare namespace PDJS.Shared.Views {
    interface IFilterOperator {
        id: number;
        isListOperator: boolean;
        isNullOperator: boolean;
        name: string;
    }
    interface IAutoValue {
        name: string;
        value: string;
    }
    interface IScalarFunction {
        id: string;
        name: string;
        returnType: string;
        supportedTypes: Array<any>;
        description: string;
    }
    class FilterEditorBase extends PDJS.Shared.Features.Editors.Macro.MacroEditor {
        private m_operatorInput;
        private m_providerInput;
        private m_autoValueInput;
        private m_scalarValueInput;
        protected get defaultHeight(): number;
        protected get defaultWidth(): number;
        protected get autosContainer(): JQuery;
        protected get autosInput(): PDJS.Shared.UI.Controls.Fields.SelectField;
        protected get autosInputValue(): string;
        protected set autosInputValue(value: string);
        protected get autosList(): Array<IAutoValue>;
        protected get autoValueId(): string;
        protected set autoValueId(value: string);
        protected get autoValueName(): string;
        protected set autoValueName(value: string);
        protected get operatorId(): any;
        protected set operatorId(value: any);
        protected get operatorInput(): PDJS.Shared.UI.Controls.Fields.SelectField;
        protected get operatorInputValue(): string;
        protected set operatorInputValue(value: string);
        protected get operatorList(): Array<IFilterOperator>;
        protected get operatorContainer(): JQuery;
        protected get providerContainer(): JQuery;
        protected get providerInput(): PDJS.Shared.UI.Controls.Fields.SelectField;
        protected get providerInputValue(): boolean;
        protected set providerInputValue(value: boolean);
        protected get scalarFunctionId(): string;
        protected set scalarFunctionId(value: string);
        protected get scalarFunctionName(): string;
        protected set scalarFunctionName(value: string);
        protected get scalarsContainer(): JQuery;
        protected get scalarsInput(): JQuery;
        protected get scalarsInputValue(): string;
        protected set scalarsInputValue(value: string);
        protected get scalarsList(): Array<IScalarFunction>;
        protected get supportsAutos(): boolean;
        protected get supportsScalars(): boolean;
        protected get useAutos(): boolean;
        protected set useAutos(value: boolean);
        protected get valueContainer(): JQuery;
        protected get value(): any;
        protected set value(value: any);
        template(): string | Array<string> | JQuery;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected configureUI(): void;
        protected setDialogDimensions(): void;
        protected onValidationErrors(): void;
        private provider_init;
        private scalar_init;
        private operator_init;
        private autoValue_init;
        private clearAutoValue;
        private clearScalar;
    }
}
declare namespace PDJS.Shared.Views {
    class FilterListEditor extends FilterEditorBase {
        private m_valueInput;
        protected get value(): Array<number>;
        protected set value(value: Array<number>);
        protected get valueInput(): PDJS.Shared.UI.Controls.Fields.MultiSelectField;
        protected get listItems(): Array<any>;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected configureUI(): void;
        protected onValidationErrors(): void;
        protected setDialogDimensions(): void;
        private input_init;
    }
}
declare namespace PDJS.Shared.Views {
    class FilterSimpleEditor extends FilterEditorBase {
        private m_valueInput;
        protected get valueInput(): PDJS.Shared.UI.Controls.Fields.StringField;
        protected onActivate(e: any): void;
        protected onComplete(e: any): void;
        protected configureUI(): void;
        protected onValidationErrors(): void;
        private input_init;
    }
}
declare namespace PDJS.Shared.Views {
    enum FiltersDialogEvents {
    }
    interface IColumnsDialogOptions extends Jade.UI.IDialogOptions {
        componentType?: ViewComponentType;
        viewStateId: string;
    }
    class FiltersDialog extends Jade.UI.Dialog {
        private m_splitter;
        private m_editor;
        private m_finder;
        private m_popup;
        constructor(options: IColumnsDialogOptions);
        private get componentType();
        private get okButtonNode();
        private get cancelButtonNode();
        private get settingsButtonNode();
        private get viewStateId();
        private get splitterNode();
        private get buttonsNode();
        template(): string | Array<string> | JQuery;
        protected onActivate(e: Jade.UI.ControlEventArgs): void;
        protected getWindowOptions(): any;
        private okButton_onClick;
        private cancelButton_onClick;
        private settingsButton_onClick;
        private splitter_init;
        private editor_init;
        private finder_init;
        private popup_init;
        private getDialogTitle;
        private initializationRequest;
        static open(options: IColumnsDialogOptions, windowOptions?: {}): FiltersDialog;
    }
}
declare namespace PDJS.Shared.Views {
    interface IFiltersDialogCommandOptions extends Jade.ICommandProps {
    }
    enum SelectedNodeType {
        None = "none",
        Condition = "condition",
        Filter = "filter"
    }
    class FiltersDialogCommand extends Jade.Command {
        constructor(options: IColumnsDialogCommandOptions);
        protected get componentType(): ViewComponentType;
        protected get viewStateId(): string;
        protected get foundColumns(): Array<IColumn>;
        protected get selectedItem(): kendo.data.Model;
        protected get selectedNode(): JQuery;
        protected get itemIsCondition(): boolean;
        protected get itemIsFilter(): boolean;
        protected get treeHasSelection(): boolean;
        protected get treeHasNodes(): boolean;
        protected get tree(): kendo.ui.TreeView;
        protected get commandContext(): Jade.CommandContext;
        onExecute(e: any): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        protected fireFiltersChangedEvent(): void;
    }
}
declare namespace PDJS.Shared.Views {
    class FiltersDialogCommands extends Jade.CommandGroup<Jade.Command> {
        constructor();
        protected registerCommands(e: Jade.OnRegisterCommandsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class FiltersDialogToolBarSegment extends Jade.UI.ToolBarSegment {
        onAddItems(e: Jade.UI.ToolbarOnAddItemsEventArgs): void;
    }
}
declare namespace PDJS.Shared.Views {
    class AddConditionCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class AddFilterCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class ClearFiltersCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class ConvertConditionCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        private setProperties;
    }
}
declare namespace PDJS.Shared.Views {
    class DuplicateFiltersCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class EditFilterCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
    }
}
declare namespace PDJS.Shared.Views {
    class RemoveFilterCommand extends FiltersDialogCommand {
        onExecute(): void;
        protected onStateChanged(e: any): void;
        protected getDefaultValuesForProps(): any;
        private getFallbackNode;
    }
}
