/** @format */ import { Action } from './action.type'; import { DatatableConfig } from './config.type'; import { NgxMatDatasourceService } from './datasource-service.type'; import { DatatableColumn, DatatableValueColumn } from './datatable-column.type'; import { FacetOptions } from './datatable-facet.type'; type Opacity = number | ((column: DatatableValueColumn, row: Record) => number | undefined); type Color = string | ((column: DatatableValueColumn, row: Record) => string | undefined); export type NgxMatDatatableOptions = { title?: string; service: NgxMatDatasourceService; configService?: { get?: () => Promise; set?: (config: DatatableConfig) => Promise; }; columns: DatatableColumn[]; columnMinWith?: number; rowMaxHeight?: number; pageSizeOptions?: number[]; pageSizeOptionsIndex?: number; additionalProperties?: string[]; actions?: { columns?: { tooltip?: string; hideAndShow?: boolean; sticky?: boolean; reorder?: boolean; }; refresh?: boolean; rowClick?: boolean | ((row: Record) => void); export?: string | boolean; user?: Action[]; }; facets?: FacetOptions[]; rowOpacity?: Opacity; rowColor?: Color; rowBackgroundColor?: Color; rowDisabled?: string | ((row: Record) => boolean); disableRowAnimation?: boolean; expandedDetailContentId?: string; }; export {};