import { InlineInputType } from '@ironsource/fusion-ui/components/input-inline/common/base'; import { TableColumnTypeEnum } from './table-column-type.enum'; import { DropdownOption } from '@ironsource/fusion-ui/components/dropdown-option/entities'; import { EventEmitter } from '@angular/core'; import { CellPosition } from './table-cell-position'; import { IconData } from '@ironsource/fusion-ui/components/icon/v1'; import { TooltipCustom } from '@ironsource/fusion-ui/components/tooltip/common/base'; export type TableCellAlign = 'left' | 'center' | 'right'; export interface TableColumn { key: string; title?: string; groupName?: string; type?: TableColumnTypeEnum; inputType?: InlineInputType; inputErrorIconShow?: boolean; inlineDropdownOptions?: DropdownOption[]; totalRowTypeAsString?: boolean; component?: any; sort?: string; class?: string; width?: string; style?: any; align?: TableCellAlign; headerAlign?: TableCellAlign; tooltip?: string; tooltipIcon?: IconData; tooltipCustom?: TooltipCustom; pipeOptions?: string; dataParser?: (data: any) => any; customErrorMapping?: { [errorKey: string]: { errorMessageKey: string; textMapping?: { key: string; value: string; }[]; errorText?: string; }; }; filter?: { options: DropdownOption[]; selected?: DropdownOption[]; onChange?: EventEmitter; }; sticky?: boolean; stickyLeftMargin?: string; stickyRight?: boolean; stickyRightMargin?: string; dateFormat?: string; ignoreTimeZone?: boolean; colspan?: number; renderNativeElement?: (data: any, position: CellPosition, row: { [key: string]: any; }) => Node; currencyPipeParameters?: CurrencyPipeParameters; } export interface CurrencyPipeParameters { currencyCode?: string; display?: 'code' | 'symbol' | 'symbol-narrow' | string; digitsInfo?: string; }