import { type IAuditable } from "../base/metadata.js"; import { type FilterContextItem } from "../dashboard/filterContext.js"; import { type IFilter } from "../execution/filter/index.js"; import { type IMetadataObject, type IMetadataObjectDefinition } from "../ldm/metadata/types.js"; import { type Identifier } from "../objRef/index.js"; /** * Export template metadata. * * @beta */ export interface IExportTemplate { /** * Unique identifier of the export template. */ id: string; /** * User-facing name of the export template. */ name: string; } /** * Export definition dashboard settings * * @alpha */ export interface IExportDefinitionDashboardSettings { mergeHeaders?: boolean; exportInfo?: boolean; orientation?: "portrait" | "landscape"; } /** * Export definition visualization object settings * * @alpha */ export interface IExportDefinitionVisualizationObjectSettings { mergeHeaders?: boolean; exportInfo?: boolean; pageSize?: "A3" | "A4" | "LETTER"; orientation?: "portrait" | "landscape"; grandTotalsPosition?: "pinnedBottom" | "pinnedTop" | "bottom" | "top"; delimiter?: string; } /** * Export definition visualization content configuration. * * @alpha */ export interface IExportDefinitionVisualizationObjectContent { visualizationObject: Identifier; /** * Widget context of visualization object. */ widget?: Identifier; /** * Dashboard context of visualization object. */ dashboard?: Identifier; filters?: IFilter[] | FilterContextItem[]; } /** * Export definition dashboard content configuration. * * @remarks Filter has to be in FilterContextItem shape so that dashboard can easily consume it. * * @alpha */ export interface IExportDefinitionDashboardContent { dashboard: Identifier; filters?: FilterContextItem[]; filtersByTab?: Record; } /** * Dashboard attachment types. * @alpha */ export type DashboardAttachmentType = "PDF" | "XLSX" | "PPTX" | "PDF_SLIDES"; /** * Export definition dashboard request payload * * @alpha */ export type IExportDefinitionDashboardRequestPayload = { type: "dashboard"; fileName: string; format: DashboardAttachmentType; settings?: IExportDefinitionDashboardSettings; content: IExportDefinitionDashboardContent; /** * Identifier of the export template to use for slide exports. */ templateId?: string; }; /** * Type guard to check if the object is of type IExportDefinitionDashboardRequestPayload. * @alpha */ export declare function isExportDefinitionDashboardRequestPayload(obj: unknown): obj is IExportDefinitionDashboardRequestPayload; /** * Widget attachment types. * @alpha */ export type WidgetAttachmentType = "CSV" | "XLSX" | "CSV_RAW" | "PNG" | "PPTX" | "PDF" | "PDF_TABULAR" | "HTML"; /** * Export definition visualization object request payload * * @alpha */ export type IExportDefinitionVisualizationObjectRequestPayload = { type: "visualizationObject"; fileName: string; format: WidgetAttachmentType; settings?: IExportDefinitionVisualizationObjectSettings; content: IExportDefinitionVisualizationObjectContent; /** * Identifier of the export template to use for slide exports. */ templateId?: string; }; /** * Type guard to check if the object is of type IExportDefinitionVisualizationObjectRequestPayload. * @alpha */ export declare function isExportDefinitionVisualizationObjectRequestPayload(obj: unknown): obj is IExportDefinitionVisualizationObjectRequestPayload; /** * Export definition request payload * * @alpha */ export type IExportDefinitionRequestPayload = IExportDefinitionDashboardRequestPayload | IExportDefinitionVisualizationObjectRequestPayload; /** * Export definition base * An object containing the core properties of an export definition * * @alpha */ export interface IExportDefinitionBase { requestPayload: IExportDefinitionRequestPayload; } /** * Export definition * * @alpha */ export interface IExportDefinitionMetadataObject extends IExportDefinitionBase, IMetadataObject, IAuditable { type: "exportDefinition"; } /** * Export definition * * @alpha */ export interface IExportDefinitionMetadataObjectDefinition extends IExportDefinitionBase, IMetadataObjectDefinition { type: "exportDefinition"; } /** * Gets the exportDefinition title * * @param exportDefinition - exportDefinition to get title of * @returns string - the exportDefinition title * @alpha */ export declare function exportDefinitionTitle(exportDefinition: IExportDefinitionMetadataObject): string; /** * Gets the date when the exportDefinition was created * * @param exportDefinition - exportDefinition * @returns string - YYYY-MM-DD HH:mm:ss * @alpha */ export declare function exportDefinitionCreated(exportDefinition: IExportDefinitionMetadataObject): string | undefined; /** * Gets the date of the last exportDefinition update * * @param exportDefinition - exportDefinition * @returns string - YYYY-MM-DD HH:mm:ss * @alpha */ export declare function exportDefinitionUpdated(exportDefinition: IExportDefinitionMetadataObject): string | undefined; /** * Export result. * * @public */ export interface IExportResult { /** * File name. */ fileName: string; /** * Export ID. */ exportId: string; /** * Export status. */ status: IExportResultStatus; /** * File URI. */ fileUri?: string; /** * Error message. */ errorMessage?: string; /** * Trace ID. */ traceId?: string; /** * Export expiration date. */ expiresAt?: string; } /** * Export result status. * * @public */ export type IExportResultStatus = "SUCCESS" | "ERROR" | "INTERNAL_ERROR" | "TIMEOUT"; //# sourceMappingURL=index.d.ts.map