import { type Action, type CaseReducer } from "@reduxjs/toolkit";
import { type DashboardDateFilterConfigMode, type IDashboardDateFilterConfig, type IDateFilterConfig } from "@gooddata/sdk-model";
import { type DateFilterValidationResult } from "../../../../types.js";
import { type ITabsState } from "../tabsState.js";
type DateFilterConfigReducer<A extends Action> = CaseReducer<ITabsState, A>;
type SetDateFilterConfigPayload = {
    /**
     * Contains current dashboard's overrides of the date filter config.
     *
     * This may be undefined as the dashboard may not contain any overrides.
     */
    dateFilterConfig?: IDashboardDateFilterConfig;
    /**
     * Contains effective date filter config that is a result of merging workspace-level config with the
     * dashboard-level overrides.
     */
    effectiveDateFilterConfig: IDateFilterConfig;
    /**
     * Indicates whether the effective date filter config is using the dashboard overrides.
     */
    isUsingDashboardOverrides: boolean;
};
export declare const dateFilterConfigReducers: {
    setDateFilterConfig: DateFilterConfigReducer<{
        payload: SetDateFilterConfigPayload;
        type: string;
    }>;
    setDateFilterConfigMode: DateFilterConfigReducer<{
        payload: DashboardDateFilterConfigMode;
        type: string;
    }>;
    setDateFilterConfigTitle: DateFilterConfigReducer<{
        payload: string | undefined;
        type: string;
    }>;
    updateDateFilterConfig: DateFilterConfigReducer<{
        payload: IDashboardDateFilterConfig;
        type: string;
    }>;
    addDateFilterConfigValidationWarning: DateFilterConfigReducer<{
        payload: DateFilterValidationResult;
        type: string;
    }>;
    clearDateFilterConfigValidationWarning: DateFilterConfigReducer<{
        payload: void;
        type: string;
    }>;
};
export {};
//# sourceMappingURL=dateFilterConfigReducers.d.ts.map