/** Core */
import { CoreComponent } from "cmf.core/src/core";
import Cmf from "cmf.lbos";
/** Angular */
import * as ng from "@angular/core";
import * as ngRouter from "@angular/router";
/** Nested components */
import { DataGridBusinessColumn, SelectionMode } from "../dataGrid/dataGrid";
import { DataGridColumn } from "cmf.core.controls/src/components/dataGrid/dataGrid";
import { DialogButtonCallbackArgs } from "cmf.core/src/domain/extensions/dialog";
import { ModalViewInstance } from "cmf.core.controls/src/components/modalView/modalView";
import { ActionButtonBuildContextHandler } from "cmf.core/src/domain/metadata/action";
/**
* AttachmentsData Interface
*/
export interface AttachmentsData {
name: string;
type: string;
description: string;
source: string;
fileFormat: string;
size: string;
date: string;
id: string;
isOpenSupported: boolean;
}
/**
* @whatItDoes
*
* EntityAttachments component is used to add the functionality of any entity to have its own associated attachments.
* The attachments can be files or Urls.
*
* @howToUse
*
* This component is used with the input of its own instance.
*
* ### Inputs:
* * `any` : **instance** - The Entity instance used to populate the EntityAttachments component.
* * `boolean` : **showActionBar** - Defines if the attachments action bar is visible
* * `boolean` : **showAdd** - Defines if the add buttom is visible
* * `boolean` : **showDelete** - Defines if the attachments delete buttom is visible
* * `boolean` : **showOpen** - Defines if the attachments open buttom is visible
* * `boolean` : **showView** - Defines if the attachments view button is visible
* * `boolean` : **showDownload** - Defines if the attachments download buttom is visible
* * `boolean` : **allowFilters** - Defines if user can filter grid
* * `boolean` : **allowOpen** - Defines if user can open attachments directly from grid
* * `boolean` : **allowView** - Defines if user can view attachments directly from grid
* * `integer` : **defaultPageSize** - Define the default page size of the attachments grid
* * `boolean` : **allowMultiselection** - Defines if user has multiselection on attachments grid
*
* ### Outputs:
*
* ### Example
* To use the component assume this HTML template as an example:
*
* ```html
*
*
* ```
*
* * @description
*
* ## EntityAttachments Component
*
* ### Dependencies
*
* #### Components
* * ActionBarModule : `cmf.core.controls`
* * ActionButtonModule : `cmf.core.controls`
* * SearchBoxModule : `cmf.core.controls`
* * SelectListModule : `cmf.core.controls`
* * DropdownModule : `cmf.core.controls`
* * DialogModule : `cmf.core.controls`
* * DataGridColumn : `cmf.core.controls`
* * ModalViewModule : `cmf.core.controls`
*
* #### Services
* * _This component does not depend on any service_
*
* #### Directives
* _This component does not depend on any directive_
*
*/
export declare class EntityAttachments extends CoreComponent implements ng.OnInit, ng.OnChanges, ng.AfterViewChecked, ng.OnDestroy {
private _modalViewInstance;
private _elementRef;
private cdr;
private _router;
/**
* Used to handle attachments download
*/
private _util;
/**
* Data for Content type generic table
*/
contentTypeTableArray: Array