import { type DrillDefinition, type IInsightWidget, type IKpiWidget, type IRichTextWidget, type IVisualizationSwitcherWidget, type InsightDrillDefinition } from "@gooddata/sdk-model";
import { type IDashboardCommand } from "../../commands/base.js";
import { type DashboardContext } from "../../types/commonTypes.js";
interface IInvalidDrillInfo {
    invalidDrills: DrillDefinition[];
    hasSanitizedDrillFilterConfig: boolean;
    sanitizedDrills: InsightDrillDefinition[];
    widget: IInsightWidget;
}
interface IValidateDrillsOptions {
    preserveSanitizedWarnings?: boolean;
}
export declare function validateDrills(ctx: DashboardContext, cmd: IDashboardCommand, widgets: (IKpiWidget | IInsightWidget | IRichTextWidget | IVisualizationSwitcherWidget)[], options?: IValidateDrillsOptions): Generator<import("redux-saga/effects").AllEffect<import("redux-saga/effects").CallEffect<void>> | import("redux-saga/effects").AllEffect<import("redux-saga/effects").CallEffect<IInvalidDrillInfo>> | import("redux-saga/effects").PutEffect<{
    payload: import("@gooddata/sdk-model").ObjRef[];
    type: "uiSlice/addInvalidDrillWidgetRefs";
}> | import("redux-saga/effects").PutEffect<{
    payload: import("@gooddata/sdk-model").ObjRef[];
    type: "uiSlice/addSanitizedDrillWidgetRefs";
}> | import("redux-saga/effects").PutEffect<{
    payload: import("@gooddata/sdk-model").ObjRef[];
    type: "uiSlice/removeInvalidDrillWidgetRefs";
}> | import("redux-saga/effects").PutEffect<{
    payload: import("@gooddata/sdk-model").ObjRef[];
    type: "uiSlice/removeSanitizedDrillWidgetRefs";
}>, void, IInvalidDrillInfo[]>;
export {};
//# sourceMappingURL=validateDrills.d.ts.map