/** LBOs */
import Cmf from "cmf.lbos";
/** Core */
import { CoreComponent } from "cmf.core/src/core";
import { ActionButtonBuildContextHandler } from "cmf.core/src/domain/metadata/action";
import { MetadataTableType } from "cmf.core/src/domain/metadata/table";
/** Angular */
import * as ng from "@angular/core";
export { MetadataTableType };
/**
* @whatItDoes
* The ContextTableViewer component is used to view the a Generic or Smart Table columns and values.
* The columns can be customized on the metadata.
* The current use is to provide a generic way to load a specific Entity Context tables with only configuration set on the metadata file.
*
* @howToUse
* This component is used with the inputs mentioned below.
*
* ### Inputs
* `Cmf.Foundation.BusinessObjects.Entity` : **instance** - The Entity instance. Not mandatory. It's used to filter the table's values
* `string` : **id** - The Table Id.
* `string` : **name** - The Table name.
* `MetadataTableType | string` : **tableType** - The Table type.
* `string` : **mainTitle** - The BusinessDataGrid component main title.
*
*
* ### Example
* To use the component, assume this HTML Template as an example:
*
* ```HTML
*
*
* ```
*
* ### _NOTES_
* The entityType input is Optional. If it isn't provided, the component calculates it on the OnInit Angular hook.
*
* @description
*
* ### Dependencies
*
* #### Components
* * PageDirectivesModule : `cmf.core.controls`
* * TableViewerModule : `cmf.core.business.controls`
*
* #### Directives
* * DetectChangesWhenModule : `cmf.core.controls`
*/
export declare class ContextTableViewer extends CoreComponent implements ng.OnInit {
/**
* Nested table viewer component.
*/
private _tableViewer;
/**
* Table's Type passed as input.
*/
private _tableType;
/**
* Action Bar's Id.
*/
actionBarId: string;
/**
* Main Title to be displayed on the BaseWidget.
*/
mainTitle: string;
/**
* Entity Instance passed as input.
*/
instance: Cmf.Foundation.BusinessObjects.Entity;
/**
* Table's name passed as input.
*/
name: string;
/**
* Table's Id.
*/
id: string;
/**
* Data grid selected items.
*/
selectedItems: any[];
/**
* Dummy variable to trigger the action bar buttons reevaluation.
* Used in the detect-changes-when directive.
*/
selectionChanged: boolean;
/**
* Table Type property getter/setter
*/
tableType: MetadataTableType | string;
/**
* Constructor.
* @param viewContainerRef the reference to the component view container.
* @param _elementRef the element reference.
* @param _router the angular router.
*/
constructor(viewContainerRef: ng.ViewContainerRef);
/**
* Helper to build the Context object to be passed to the Add/Edit/Remove wizards.
* @param framework framework object.
* @param context context object.
* @param items items selected on the grid.
*/
private onBuildContextHandlerForWizard;
/**
* Angular OnInit life cycle hook.
*/
ngOnInit(): Promise;
/**
* Refresh the grid.
*/
refresh(): void;
/**
* On DataGrid selection change callback used to trigger the re-evaluation of the action bar buttons.
* @param selected list of selected entities
*/
onSelectionChange(selected: any[]): void;
/**
* Context building function for the Edit and Remove wizards.
*/
onBuildContextHandlerForEditRemoveWizard: ActionButtonBuildContextHandler;
/**
* Context building function for the Add wizard.
*/
onBuildContextHandlerForAddWizard: ActionButtonBuildContextHandler;
}
export declare class ContextTableViewerModule {
}