import { type IAttributeDescriptor, type IAttributeFilter, type IDateFilter, type IDrillDownIntersectionIgnoredAttributes, type IDrillToDashboard, type IDrillToInsight, type IFilter, type IMeasure, type InsightDrillDefinition, type ObjRef, type ObjRefInScope, type SourceInsightFilterObjRef } from "@gooddata/sdk-model"; import { type IAvailableDrillTargets, type IDrillEvent } from "@gooddata/sdk-ui"; import { type DashboardDrillDefinition, type IDrillDownDefinition, type IDrillToUrlAttributeDefinition, type IGlobalDrillDownAttributeHierarchyDefinition } from "../../types.js"; export declare function getDrillsBySourceLocalIdentifiers(widgetDrillDefinition: Array, drillSourceLocalIdentifiers: string[]): Array; export declare function getLocalIdentifiersFromEvent(drillEvent: IDrillEvent): string[]; export declare function getDrillSourceLocalIdentifierFromEvent(drillEvent: IDrillEvent): string[]; export declare function filterDrillsByDrillEvent(drillDefinitions: DashboardDrillDefinition[], drillEvent: IDrillEvent): DashboardDrillDefinition[]; export declare function getDrillOriginLocalIdentifier({ origin }: InsightDrillDefinition | IDrillDownDefinition | IGlobalDrillDownAttributeHierarchyDefinition | IDrillToUrlAttributeDefinition): string; export declare function getLocalIdentifierOrDie(ref: ObjRefInScope): string; /** * Returns source measure filters for a drill origin measure. * * @internal */ export declare function getSourceMeasureFiltersForDrillDefinition(drillDefinition: Pick, sourceInsightMeasures: IMeasure[]): Array; export declare function isDrillConfigured(drill: DashboardDrillDefinition, configuredDrills: DashboardDrillDefinition[]): boolean; export declare function getValidDrillOriginAttributes(supportedItemsForWidget: IAvailableDrillTargets, localIdentifier: string): IAttributeDescriptor[]; /** * Check whether drill intersection ignored attributes belong to a particular hierarchy. * * Date drill down does not contain a proper date attribute reference (date hierarchy is global), * so we just check that the hierarchy and its reference are date hierarchies. * * For other drill downs, we check reference equality as usual. * * @internal */ export declare function isDrillDownIntersectionIgnoredAttributesForHierarchy(drillDownIgnoredDrillIntersection: IDrillDownIntersectionIgnoredAttributes, targetHierarchyRef: ObjRef): boolean; /** * Compares persisted drill filter reference with actual insight filter. * * @internal */ export declare function isMatchingSourceInsightFilter(filter: IFilter, sourceFilterObjRef: SourceInsightFilterObjRef): boolean; /** * Compares two persisted source insight filter references. * * @internal */ export declare function isSourceInsightFilterObjRefEqual(left: SourceInsightFilterObjRef, right: SourceInsightFilterObjRef): boolean; export declare function sourceInsightFilterObjRef(filter: IFilter): SourceInsightFilterObjRef | undefined; export declare function sourceInsightFilterObjRefValue(sourceFilterObjRef: SourceInsightFilterObjRef): ObjRefInScope; /** * Resolves a measure-scoped ref from an insight filter to the underlying catalog measure ref. * * Source insight MVFs usually target a local measure identifier, while dashboard MVFs target * the metric object ref. Use this when comparing or merging source MVFs with dashboard MVFs. * * @internal */ export declare function resolveSourceMeasureRef(measureRef: ObjRefInScope | undefined, sourceInsightMeasures: IMeasure[]): ObjRef | undefined; //# sourceMappingURL=drillingUtils.d.ts.map