import { TableMultipleActions, TableRowRemoveAction } from './table-row-remove-action'; import { TableColumn } from './table-column'; import { DynamicComponentConfiguration } from '@ironsource/fusion-ui/components/dynamic-components/common/entities'; import { IconData } from '@ironsource/fusion-ui/components/icon/common/entities'; import { EventEmitter } from '@angular/core'; import { MenuDropItem } from '@ironsource/fusion-ui/components/menu-drop'; import { EmptyStateType } from '@ironsource/fusion-ui/components/empty-state/v4'; export interface TableLabel { text: string; icon?: IconData; tooltip?: string; } export interface TableSearchOptions { placeholder?: string; onSearch?: EventEmitter; initalValue?: string; } export interface TableOptions { tableId?: string; tableLabel?: TableLabel; noTableFooter?: boolean; searchOptions?: TableSearchOptions; hasReturnToTopButton?: boolean; scrollElementSelector?: string; stickyHeaderTopOffset?: number; sortingType?: string; remove?: TableRowRemoveAction; rowActionsMenu?: TableMultipleActions; isAllRowsSelectable?: boolean; isLoadingOverlayMode?: boolean; noDataMessage?: string; noDataSubMessage?: string; noDataImageBgUrl?: string; emptyTableIcon?: string; emptyTableType?: EmptyStateType; customNoData?: DynamicComponentConfiguration; isGroupedTable?: boolean; pagination?: TablePaginationOption; hasTotalsRow?: boolean; stickyHeader?: boolean; hideHeaderOnEmpty?: boolean; cellBorders?: boolean; rowStyle?: any; rowHeight?: TableRowHeight; rowTrackingOption?: string; headerRowStyle?: any; hasRowSpan?: boolean; rowsExpandableOptions?: TableRowsExpandableOptions; rowsOptions?: { [rowNumber: number]: TableRowOptions; global?: TableRowOptions; headerRow?: TableRowOptions; ignoredParentSelectorsRowClickEvent?: string[]; }; notAvailableText?: string; isFloatingActionDisabled?(row: any, action?: MenuDropItem): boolean; isRemoveIconHiddenForRow?(row: any): boolean; infoIconForRowOnHover?(row: any): string; } export interface TablePaginationOption { enable: boolean; loading?: boolean; handleLoadingFromHost?: boolean; } export interface TableRowOptions { [optionName: string]: any; } export interface TableRowMetaData { readonly?: boolean; inRequest?: boolean; disabled?: boolean; cellToolTip?: { [columnKey: string]: string; }; rowspanColumnsData?: { [key: string]: number; }; maxRowspanInColumn?: number; } export type InnerEntityType = 'innerRows' | 'dynamicComponent'; export interface TableRowsExpandableOptions { key: string; columns: TableColumn[]; innerEntityType?: InnerEntityType; sticky?: boolean; keyToIgnore?: string; expandLevels?: number; expendChunkSize?: number; } export declare enum TableRowHeight { Small = "small", Medium = "medium", Big = "big" }