import { type DrillDefinition, type IAbsoluteDateFilter, type IAccessGrantee, type IArbitraryAttributeFilter, type IAutomationMetadataObject, type IInsight, type IMatchAttributeFilter, type IMeasureValueFilter, type INegativeAttributeFilter, type IPositiveAttributeFilter, type IRelativeDateFilter, type IWidget, type LocalIdRef, type ObjRef, type ShareStatus } from "@gooddata/sdk-model"; import { type IDrillEvent, type OnFiredDrillEvent } from "@gooddata/sdk-ui"; import { type DateFilterConfigValidationResult } from "./_staging/dateFilterConfig/validation.js"; /** * Supported dashboard filter type. * @public */ export type IDashboardFilter = IAbsoluteDateFilter | IRelativeDateFilter | IPositiveAttributeFilter | INegativeAttributeFilter | IArbitraryAttributeFilter | IMatchAttributeFilter | IMeasureValueFilter; /** * Type-guard testing whether the provided object is an instance of {@link IDashboardFilter}. * * @alpha */ export declare function isDashboardFilter(obj: unknown): obj is IDashboardFilter; /** * Supported dashboard drill definitions. * * @beta */ export type DashboardDrillDefinition = DrillDefinition | IDrillDownDefinition; /** * A {@link @gooddata/sdk-ui#IDrillEvent} with added information about the drill event specific to the Dashboard context. * @beta */ export interface IDashboardDrillEvent extends IDrillEvent { /** * All the drilling interactions set in KPI dashboards that are relevant to the given drill event (including drill downs). */ drillDefinitions: DashboardDrillDefinition[]; /** * Reference to the widget that triggered the drill event. */ widgetRef?: ObjRef; } /** * Callback called when a drill event occurs. * @beta */ export type OnFiredDashboardDrillEvent = (event: IDashboardDrillEvent) => ReturnType; /** * Implicit drill down context * * @alpha */ export interface IDrillDownContext { drillDefinition: IDrillDownDefinition; event: IDrillEvent; } /** * Information about the DrillDown interaction - the attribute that is next in the drill down hierarchy. * @beta */ export interface IDrillDownDefinition { type: "drillDown"; /** * Local identifier of the attribute that triggered the drill down. */ origin: LocalIdRef; /** * Target attribute display form for drill down. */ target: ObjRef; /** * Title for the target attribute. */ title?: string; /** * Reference to the attribute hierarchy that triggered the drill down. * Is required if enableDrillDownIntersectionIgnoredAttributes feature flag is set to true. */ hierarchyRef?: ObjRef; } /** * Type-guard testing whether the provided object is an instance of {@link IDrillDownDefinition}. * @beta */ export declare function isDrillDownDefinition(obj: unknown): obj is IDrillDownDefinition; /** * @alpha */ export interface IDashboardDrillContext { /** * Particular insight that triggered the drill event. */ insight?: IInsight; /** * Particular widget that triggered the drill event. */ widget?: IWidget; } /** * @internal */ export interface IDrillToUrlPlaceholder { placeholder: string; identifier: string; toBeEncoded: boolean; } /** * All sharing properties describing sharing changes * * @public */ export interface ISharingProperties { /** * Dashboard share status * * @remarks * private - dashboard accessible only by its creator * shared - dashboard shared with closed set of users/groups * public - accessible by everyone in the workspace */ shareStatus: ShareStatus; /** * For backends NOT forcing strict access this prop reflects its current setting of strict access * * @remarks * If set to true then object is not accessible via its URI/ref for people without access rights. * Otherwise object is accessible by its URI/ref, eg. when drilling to it. */ isUnderStrictControl: boolean; /** * When set to true, the dashboard is locked and no one other than the administrator can edit it. */ isLocked: boolean; /** * Access grantees to grant access to the dashboard to. */ granteesToAdd: IAccessGrantee[]; /** * Access grantees whose access to the dashboard to revoke. */ granteesToDelete: IAccessGrantee[]; } /** * @beta */ export interface IMenuButtonItemsVisibility { /** * If set to true, the Save as new button will be visible. Defaults to false. */ saveAsNewButton?: boolean; /** * If set to true, the Export to PDF button will be visible. Defaults to true. */ pdfExportButton?: boolean; /** * If set to true, the Export to EXCEL button will be visible. Defaults to true. */ excelExportButton?: boolean; /** * If set to true, the Export to PowerPoint button will be visible. Defaults to true. */ powerPointExportButton?: boolean; /** * If set to true, the Schedule emailing button will be visible. Defaults to true. */ scheduleEmailButton?: boolean; /** * If set to true, the Alerting button will be visible. Defaults to true. */ alertingButton?: boolean; /** * If set to true, the Share button will be visible. Defaults to true. */ settingsButton?: boolean; /** * If set to true, the Delete button will be visible. Defaults to true. */ deleteButton?: boolean; } /** * @beta */ export type RenderMode = "view" | "edit" | "export"; /** * Dashboard information density setting. * * @alpha */ export type DashboardDensity = "comfortable" | "compact"; /** * Tests whether the provided density is supported. * * @param density * * @alpha */ export declare function isSupportedDashboardDensity(density: unknown): density is DashboardDensity; /** * @public */ export type DateFilterValidationResult = "TOO_MANY_CONFIGS" | "NO_CONFIG" | DateFilterConfigValidationResult; /** * Legacy Dashboard (a.k.a. PP Dashboard) tab. * @alpha */ export interface ILegacyDashboardTab { /** * Title of the tab */ readonly title: string; /** * Unique local identifier of the tab */ readonly localIdentifier: string; } /** * Legacy Dashboard (a.k.a. PP Dashboard). * @alpha */ export interface ILegacyDashboard { /** * Object ref */ readonly ref: ObjRef; /** * Object uri */ readonly uri: string; /** * Object identifier */ readonly identifier: string; /** * Title of the legacy dashboard */ readonly title: string; /** * Tabs included in the legacy dashboard */ readonly tabs: ILegacyDashboardTab[]; } /** * Coordinates of an item in a layout. * @beta */ export interface ILayoutCoordinates { /** * 0-based index of the section the item is in. */ sectionIndex: number; /** * 0-based index of the item within the section. */ itemIndex: number; } /** * Tests whenever the provided object is layout coordinates object. * @alpha */ export declare function isLayoutCoordinates(obj: unknown): obj is ILayoutCoordinates; /** * The type of drop zone. * @internal */ export type DropZoneType = "prev" | "next"; /** * Coordinates of an item in a nested layout. * @alpha */ export type ILayoutItemPath = ILayoutCoordinates[]; /** * Tests whenever the provided object is section path. * @alpha */ export declare function isLayoutItemPath(obj: unknown): obj is ILayoutItemPath; /** * Coordinates of a section in a nested layout. * @alpha */ export interface ILayoutSectionPath { /** * The path to the parent item that contains this section. * * Undefined when section is in the root layout, otherwise leads to the layout widget in which the section * is nested. */ parent?: ILayoutItemPath; /** * Zero based index. */ sectionIndex: number; } /** * Tests whenever the provided object is section path. * @alpha */ export declare function isLayoutSectionPath(obj: unknown): obj is ILayoutSectionPath; /** * @internal */ export interface IGlobalDrillDownAttributeHierarchyDefinition { type: "drillDown"; /** * Local identifier of the attribute that triggered the drill down. */ origin: LocalIdRef; /** * Target attribute hierarchy for drill down. */ target: ObjRef; } /** * @internal */ export interface IDrillToUrlAttributeDefinition { type: "drillToUrl"; /** * Local identifier of the attribute that triggered the drill to url. */ origin: LocalIdRef; /** * Target attribute display form for drill to url. */ target: ObjRef; } /** * @internal */ export interface IScheduleEmailContext { /** * Widget to schedule email for. */ widgetRef?: ObjRef | undefined; /** * Schedule to edit. */ schedule?: IAutomationMetadataObject; } /** * @internal */ export interface IAlertDialogContext { /** * Widget to create/edit alert for. */ widgetRef?: ObjRef; /** * Alert to edit. */ alert?: IAutomationMetadataObject; } //# sourceMappingURL=types.d.ts.map