import type { AgWidgetField } from './agField'; import type { AgStudioCommon } from './agStudioCommon'; import type { AgWidgetApi } from './agWidgetApi'; import type { AgWidgetConfig } from './agWidgetConfig'; import type { AgWidgetData, AgWidgetDataFormat } from './widgets/shared/agWidget'; export type AgWidgetSortOrder = 'asc' | 'desc'; export interface AgWidgetSort { field: AgWidgetField; direction: AgWidgetSortOrder; } export type AgWidgetDataMapping>> = Partial>; export interface BaseWidgetParams>> { /** Widget ID. */ widgetId: string; /** Widget type. */ widgetType: string; /** Widget format as constructed from the widget form. */ format: TWidget['format']; /** Widget data mapping values. */ dataMapping: AgWidgetDataMapping; /** Widget sort if defined. */ sort: AgWidgetSort[] | undefined; } export interface AgWidgetParams> = AgWidgetData>, TOptions = any, TContext = any> extends Required>, AgStudioCommon { /** Widget configuration. */ config: AgWidgetConfig; /** Widget API. Provides access to retrieve data. */ widgetApi: AgWidgetApi; }