import { type Action, type CaseReducer } from "@reduxjs/toolkit";
import { type ObjRef } from "@gooddata/sdk-model";
import { type ITabState, type ITabsState } from "./tabsState.js";
/**
 * @alpha
 */
export type TabsReducer<A extends Action> = CaseReducer<ITabsState, A>;
type SetTabsPayload = {
    /**
     * Array of tabs with their configurations.
     */
    tabs?: ITabState[];
    /**
     * Local identifier of the currently active tab.
     */
    activeTabLocalIdentifier?: string;
};
/**
 * Payload of the {@link SetDashboardAttributeFilterConfigDisplayAsLabel} command.
 * @alpha
 */
export interface ISetDashboardAttributeFilterConfigDisplayAsLabelPayload {
    /**
     * Local identifier of the filter to change display as label (= display form).
     */
    localIdentifier: string;
    /**
     *  Display as label of the attribute filter. Used to present filter in UI
     */
    displayAsLabel: ObjRef | undefined;
}
export declare const tabsReducers: {
    setTabs: TabsReducer<{
        payload: SetTabsPayload;
        type: string;
    }>;
    setActiveTabLocalIdentifier: TabsReducer<{
        payload: string | undefined;
        type: string;
    }>;
    updateTab: TabsReducer<{
        payload: ITabState;
        type: string;
    }>;
    removeTabById: TabsReducer<{
        payload: string;
        type: string;
    }>;
    clearTabs: TabsReducer<{
        payload: void;
        type: string;
    }>;
    setTabIsRenaming: TabsReducer<{
        payload: {
            tabId: string;
            isRenaming: boolean;
        };
        type: string;
    }>;
    renameTab: TabsReducer<{
        payload: {
            tabId: string;
            title: string;
        };
        type: string;
    }>;
};
export {};
//# sourceMappingURL=tabsReducers.d.ts.map