import { OdooPivotRuntimeDefinition, PivotMeasure } from '../pivot/pivot_runtime'; import { ORM } from '../../web/core/orm_service'; import { ServerData } from '../data_sources/server_data'; import { Pivot, CommonPivotCoreDefinition, PivotCoreDefinition } from '../../odoo/o-spreadsheet'; declare module "@spreadsheet" { export interface OdooPivotCoreDefinition extends CommonPivotCoreDefinition { type: "ODOO"; model: string; domain: Array; context: Object; actionXmlId: string; } export type ExtendedPivotCoreDefinition = PivotCoreDefinition | OdooPivotCoreDefinition; interface OdooPivot extends Pivot { type: ExtendedPivotCoreDefinition["type"]; } export interface GFLocalPivot { id: string; fieldMatching: Record; } export interface OdooField { name: string; type: string; string: string; relation?: string; searchable?: boolean; aggregator?: string; store?: boolean; } export type OdooFields = Record; export interface PivotMetaData { colGroupBys: string[]; rowGroupBys: string[]; activeMeasures: string[]; resModel: string; fields?: Record; modelLabel?: string; fieldAttrs: any; } export interface PivotSearchParams { groupBy: string[]; orderBy: string[]; domain: Array; context: Object; } /* Params used for the odoo pivot model */ export interface WebPivotModelParams { metaData: PivotMetaData; searchParams: PivotSearchParams; } export interface OdooPivotModelParams { fields: OdooFields; definition: OdooPivotRuntimeDefinition; searchParams: { domain: Array; context: Object; }; } export interface PivotModelServices { serverData: ServerData; orm: ORM; getters: OdooGetters; } }