import type { ReactNode } from "react";
import type { DashCardMenuItem } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/dashboard/components/DashCard/DashCardMenu/DashCardMenu";
import type { ClickAction, ClickObject } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/visualizations/types";
import type { Card as QuestionType } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
export type SdkDataPointObject = Pick<ClickObject, "value" | "column" | "data" | "event">;
export type SdkClickActionPluginsConfig = (clickActions: ClickAction[], clickedDataPoint: SdkDataPointObject) => ClickAction[];
export type DashCardMenuCustomElement = ({ question, }: {
    question: QuestionType;
}) => ReactNode;
export type CustomDashCardMenuItem = ({ question, }: {
    question?: QuestionType;
}) => DashCardMenuItem;
export type DashCardCustomMenuItem = {
    withDownloads?: boolean;
    withEditLink?: boolean;
    customItems?: (DashCardMenuItem | CustomDashCardMenuItem)[];
};
export type SdkDashCardMenuPluginsConfig = {
    dashcardMenu?: DashCardMenuCustomElement | DashCardCustomMenuItem;
};
export type SdkPluginsConfig = {
    mapQuestionClickActions?: SdkClickActionPluginsConfig;
    dashboard?: SdkDashCardMenuPluginsConfig;
};
