/** Core */
import * as Core from "cmf.core/src/core";
import { PropertiesEditorProperty } from "../propertiesEditor/propertiesEditor";
/** Angular */
import * as ng from "@angular/core";
/**
* DialogFormProperty
*/
export { PropertiesEditorProperty as DialogFormProperty };
/**
* DialogFormProperties
*/
export interface DialogFormProperties {
[key: string]: PropertiesEditorProperty;
}
/**
* DialogFormObject
*/
export interface DialogFormObject {
[key: string]: any;
}
/**
* DialogFormPropertyChangedArgs
*/
export interface DialogFormPropertyChangedArgs {
propertyId: string;
value: any;
}
/**
* @whatItDoes
*
* This component is used to instantiate a dialog with a simple form in it, using a properties editor, providing a simpler way of handling this common use case.
*
* @howToUse
*
* This component is used with the inputs and outputs mentioned below.
*
* ### Inputs
* * `string` : **mainTitle** - Title of the dialog
* * `string` : **headerIcon** - Icon of the dialog
* * `any` : **object** - The object to feed teh form (properties from this object will be used as fields in form)
* * `boolean` : **refreshOnClose** - If refresh page on close modal
* `DialogFormProperties` : **properties** - Properties to change on the property editor
* `(object: DialogFormInstance) => void;` : **callback** - Callback to be called on diagram confirm
*
* ### Outputs
* `DialogFormPropertyChangedArgs` : **propertyChanged** - propertyChange of the properties editor.
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
*
* ```
*
* @description
*
* ## DialogForm Component
*
* ### Dependencies
*
* #### Components
* * PropertiesEditor : `cmf.core.business.controls`
* * Dialog : `cmf.core.controls`
*
* ### Directives
* * Validator : `cmf.core.controls`
*
*/
export declare class DialogForm extends Core.CoreComponent implements ng.OnChanges, ng.AfterViewInit, ng.OnDestroy {
private _elementRef;
private _ngZone;
private _buttons;
/**
* Title
*/
mainTitle: string;
/**
* Header icon
*/
headerIcon: string;
/**
* Properties
*/
properties: DialogFormProperties;
/**
* Object
*/
object: DialogFormObject;
/**
* If refresh on close
*/
refreshOnClose: boolean;
/**
* Callback
*/
callback: (object: DialogFormObject) => void;
/**
* On property changed
* @event propertyChanged
*/
propertyChanged: ng.EventEmitter;
/**
* Constructor
* @param viewContainerRef the reference to the component view container
*/
constructor(_elementRef: ng.ElementRef, _ngZone: ng.NgZone);
/**
* On property change
* @param event
*/
private onPropertyChange;
/**
* After view init
*/
ngAfterViewInit(): void;
/**
* On destroy
*/
ngOnDestroy(): void;
/**
* On changes method
* @param changes the changes made to the component properties
*/
ngOnChanges(changes: ng.SimpleChanges): void;
}
export declare class DialogFormModule {
}