import { type Action, type CaseReducer } from "@reduxjs/toolkit";
import { type IDashboardParameter, type ObjRef } from "@gooddata/sdk-model";
import { type IDashboardParameterEntry, type IParametersState } from "./parametersState.js";
type ParametersReducer<A extends Action> = CaseReducer<IParametersState, A>;
/**
 * Add a parameter to the dashboard. Initial `runtimeOverride` is `parameter.value`
 * (when pinned) otherwise the workspace default supplied by the caller.
 *
 * @alpha
 */
export interface IAddParameterPayload {
    parameter: IDashboardParameter;
    workspaceDefault: number;
}
/**
 * @alpha
 */
export interface ISetParameterRuntimeValuePayload {
    ref: ObjRef;
    value: number;
}
/**
 * @alpha
 */
export interface IRemoveParameterPayload {
    ref: ObjRef;
}
export declare const parametersReducers: {
    addParameter: ParametersReducer<{
        payload: IAddParameterPayload;
        type: string;
    }>;
    setParameterRuntimeValue: ParametersReducer<{
        payload: ISetParameterRuntimeValuePayload;
        type: string;
    }>;
    removeParameter: ParametersReducer<{
        payload: IRemoveParameterPayload;
        type: string;
    }>;
    setParameterEntries: ParametersReducer<{
        payload: IDashboardParameterEntry[];
        type: string;
    }>;
};
export {};
//# sourceMappingURL=parametersReducers.d.ts.map