import { CubeSymbolDefinition, GranularityDefinition } from './CubeSymbols'; import type { CubeDefinitionExtended } from './CubeSymbols'; import type { CubeValidator } from './CubeValidator'; import type { CubeEvaluator } from './CubeEvaluator'; import type { ContextEvaluator } from './ContextEvaluator'; import type { ViewGroupEvaluator, CompiledViewGroup } from './ViewGroupEvaluator'; import type { JoinGraph } from './JoinGraph'; import type { ErrorReporter } from './ErrorReporter'; import { CompilerInterface } from './PrepareCompiler'; export type CustomNumericFormat = { type: 'custom-numeric'; value: string; alias?: string; }; export type DimensionCustomTimeFormat = { type: 'custom-time'; value: string; }; export type DimensionLinkFormat = { type: 'link'; label?: string; }; export type DimensionFormat = string | DimensionLinkFormat | DimensionCustomTimeFormat | CustomNumericFormat; export type MeasureFormat = string | CustomNumericFormat; export type FormatDescription = { name: string; specifier: string; currency?: string; }; export interface ExtendedCubeSymbolDefinition extends CubeSymbolDefinition { description?: string; meta?: any; title?: string; public?: boolean; visible?: boolean; shown?: boolean; suggestFilterValues?: boolean; aliasMember?: string; drillMembers?: any; drillMemberReferences?: any; cumulative?: boolean; aggType?: string; keyReference?: string; currency?: string; } export type FlatFolder = { name: string; members: string[]; }; export type NestedFolder = { name: string; members: Array; }; export type MeasureConfig = { name: string; title: string; description?: string; shortTitle: string; format?: MeasureFormat; formatDescription?: FormatDescription; currency?: string; cumulativeTotal: boolean; cumulative: boolean; type: string; aggType: string; drillMembers: string[]; drillMembersGrouped: { measures: string[]; dimensions: string[]; }; aliasMember?: string; meta?: any; isVisible: boolean; public: boolean; }; export type DimensionConfig = { name: string; title: string; type: string; description?: string; shortTitle: string; suggestFilterValues: boolean; format?: DimensionFormat; formatDescription?: FormatDescription; currency?: string; meta?: any; isVisible: boolean; public: boolean; primaryKey: boolean; aliasMember?: string; granularities?: GranularityDefinition[]; order?: 'asc' | 'desc'; key?: string; }; export type SegmentConfig = { name: string; title: string; shortTitle: string; description?: string; meta?: any; isVisible: boolean; public: boolean; }; export type HierarchyConfig = { name: string; public: boolean; [key: string]: any; }; export type CubeConfig = { name: string; type: 'view' | 'cube'; title: string; isVisible: boolean; public: boolean; description?: string; viewGroups?: string[]; connectedComponent: number; meta?: any; measures: MeasureConfig[]; dimensions: DimensionConfig[]; segments: SegmentConfig[]; hierarchies: HierarchyConfig[]; folders: FlatFolder[]; nestedFolders: NestedFolder[]; }; export type TransformedCube = { config: CubeConfig; }; export declare class CubeToMetaTransformer implements CompilerInterface { private readonly cubeValidator; private readonly cubeSymbols; readonly cubeEvaluator: CubeEvaluator; private readonly contextEvaluator; private readonly viewGroupEvaluator; private readonly joinGraph; cubes: TransformedCube[]; /** * @deprecated */ queries: TransformedCube[]; constructor(cubeValidator: CubeValidator, cubeEvaluator: CubeEvaluator, contextEvaluator: ContextEvaluator, viewGroupEvaluator: ViewGroupEvaluator, joinGraph: JoinGraph); get viewGroups(): CompiledViewGroup[]; compile(_cubes: any[], errorReporter: ErrorReporter): void; protected transform(cube: CubeDefinitionExtended, _errorReporter?: ErrorReporter): TransformedCube; queriesForContext(contextId: string | null | undefined): TransformedCube[]; /** * @protected */ protected isVisible(symbol: any, defaultValue: boolean): boolean; private dimensionDataType; private measureConfig; private title; private titleize; private transformDimensionFormat; private transformMeasureFormat; /** * Resolves a format into a FormatDescription. * - Measures: returned for all types except string, boolean, and time. * - Dimensions: returned only for number type. */ private resolveFormatDescription; } //# sourceMappingURL=CubeToMetaTransformer.d.ts.map