declare type Column = SourceColumn | GeneratedColumn; export declare type DisplayFormat = "currencyNoSymbol" | "currencyWithSymbol" | "percentNoSymbol" | "percentWithSymbol"; export declare type GeneratedColumn = SourceColumn & { baseValue?: string; displayFormat: DisplayFormat; displayName?: string; repeated?: boolean; }; export interface Model { creditMemoData: unknown; modelData: ModelTabData[]; modelMetaData: { displayName: string; }; uuid: string; } interface ModelChildBase extends ModelRow { allowAddChild?: boolean; allowEdit?: boolean; allowHideRow?: boolean; children?: ModelChild[]; displayFormat: DisplayFormat; wrapperFormula?: string; lineItem: boolean; textLayout?: { bold: boolean; underline: boolean; italic: boolean; strikethrough: boolean; borderLineType: string; categoryType: string; format: string; negative: boolean; sumOfChildren: boolean; allowAddAChild: boolean; highlightRow: boolean; }; lineType?: "Title" | "Category Total" | "Formula" | "Line" | "Blank" | string; title?: string; shortName?: string; formula?: string; } export interface ModelChildTitle extends ModelChildBase { lineType: "Title"; title: string; } export interface ModelChildFormula extends ModelChildBase { lineType: "Formula"; formula: string; } export declare type ModelChild = ModelChildBase | ModelChildFormula | ModelChildTitle; /** * When using the bafs-api lib this interface is not needed because no objects * with this shape will be exposed to clients. See * `libs/bafs-api/src/financial-spreads-models/financial-spreads-models.ts`. * * Response returned by a cms/v1 request. * @deprecated */ export interface ModelDocument { data: Model; error: any; metaData: any; } export interface ModelRow { displayName: string; uuid: string; } export interface ModelTabData extends ModelRow { balance?: boolean; columns?: Array; reportIcon: string; rows: ModelChild[]; spreadsView: boolean; tab: string; } declare type SourceColumn = { formula?: "percentChange()" | "percentBaseValue()"; repeated: true; }; export {};