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 Question from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-lib/v1/Question";
export type SdkDataPointObject = Pick<ClickObject, "value" | "column" | "data" | "event">;
export type SdkClickActionPluginsConfig = (clickActions: ClickAction[], clickedDataPoint: SdkDataPointObject) => ClickAction[];
type DashCardMenuCustomElement = ({ question, }: {
    question: Question;
}) => ReactNode;
type CustomDashCardMenuItem = ({ question, }: {
    question?: Question;
}) => DashCardMenuItem;
export type DashCardCustomMenuItem = {
    withDownloads?: boolean;
    withEditLink?: boolean;
    customItems?: (DashCardMenuItem | CustomDashCardMenuItem)[];
};
export type SdkDashCardMenuPluginsConfig = {
    dashcardMenu?: DashCardMenuCustomElement | DashCardCustomMenuItem;
};
export type SdkPluginsConfig = {
    mapQuestionClickActions?: SdkClickActionPluginsConfig;
    dashboard?: SdkDashCardMenuPluginsConfig;
};
export {};
