import { Subject } from 'rxjs'; import { SubTypeNumericModifierColumn } from '../../enums/columns/subTypeNumericModifierColumn.enum'; import { ColumnTable } from './column'; /** * Column general numeric modifier */ interface NumericModifierColumn extends ColumnTable { /** * subtype of column numeric modifier */ subType?: SubTypeNumericModifierColumn | (({ data, column }: { data: any; column: any; }) => SubTypeNumericModifierColumn); /** * min: min value */ min?: number | (({ data }: { data: any; }) => number); /** * max: max value */ max?: number | (({ data }: { data: any; }) => number); /** * setValue: Observable to change value at column */ setValue?: Subject | (() => Subject); } /** * column just an input number */ export interface NumberInputColumn extends NumericModifierColumn { } /** * number input number with buttons */ export interface NumberInputButtonsColumn extends NumericModifierColumn { /** * function to excute at every change from input value */ changeField?: ({ data, option, value }: { data: any; option: any; value: any; }) => void; } /** * All export types numeric */ export declare type TypeNumericsModifier = NumberInputColumn | NumberInputButtonsColumn; /** * setValueData: setValue attributes */ export interface SetValueData { /** * attribute to get the identifier */ attribute: string; /** * row identifier */ uuid: string; /** * value to set */ value: number; } export {};