import { type Action, type CaseReducer } from "@reduxjs/toolkit";
import { type ICatalogAttribute, type ICatalogAttributeHierarchy, type ICatalogDateDataset, type ICatalogFact, type ICatalogMeasure, type IDateHierarchyTemplate } from "@gooddata/sdk-model";
import { type CatalogState, type ICatalogParametersState } from "./catalogState.js";
type CatalogReducer<A extends Action> = CaseReducer<CatalogState, A>;
/**
 * @public
 */
export type SetCatalogItemsPayload = {
    attributes?: ICatalogAttribute[];
    measures?: ICatalogMeasure[];
    facts?: ICatalogFact[];
    dateDatasets?: ICatalogDateDataset[];
    attributeHierarchies?: ICatalogAttributeHierarchy[];
    dateHierarchyTemplates?: IDateHierarchyTemplate[];
};
/**
 * @public
 */
export type SetCatalogMeasuresAndFactsPayload = {
    measures: ICatalogMeasure[];
    facts: ICatalogFact[];
};
export declare const catalogReducers: {
    setCatalogItems: CatalogReducer<{
        payload: SetCatalogItemsPayload;
        type: string;
    }>;
    setCatalogMeasuresAndFacts: CatalogReducer<{
        payload: SetCatalogMeasuresAndFactsPayload;
        type: string;
    }>;
    addAttributeHierarchy: CatalogReducer<{
        payload: ICatalogAttributeHierarchy;
        type: string;
    }>;
    updateAttributeHierarchy: CatalogReducer<{
        payload: ICatalogAttributeHierarchy;
        type: string;
    }>;
    deleteAttributeHierarchy: CatalogReducer<{
        payload: ICatalogAttributeHierarchy;
        type: string;
    }>;
    setCatalogParameters: CatalogReducer<{
        payload: ICatalogParametersState;
        type: string;
    }>;
};
export {};
//# sourceMappingURL=catalogReducers.d.ts.map