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';
export interface TableColumn {
    key: string;
    title?: string;
    groupName?: string;
    type?: TableColumnTypeEnum;
    inputType?: InlineInputType;
    totalRowTypeAsString?: boolean;
    component?: any;
    sort?: string;
    class?: string;
    width?: string;
    style?: any;
    align?: 'left' | 'center' | 'right';
    headerAlign?: 'left' | 'center' | 'right';
    tooltip?: string;
    tooltipIcon?: IconData;
    pipeOptions?: string;
    dataParser?: (data: any) => any;
    customErrorMapping?: {
        [errorKey: string]: {
            errorMessageKey: string;
            textMapping?: {
                key: string;
                value: string;
            }[];
        };
    };
    filter?: {
        options: DropdownOption[];
        selected?: DropdownOption[];
        onChange?: EventEmitter<any>;
    };
    sticky?: boolean;
    stickyLeftMargin?: 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;
}
