/// <reference types="react" />
import type { LocationDescriptor } from "history";
import type { Mode } from "../../../visualizations/click-actions/Mode";
import type { QueryClickActionsMode } from "../../../visualizations/types";
import type { CardId, DashCardId, Dashboard, DashboardCard, VisualizationSettings } from "../../../../metabase-types/api";
import type { StoreDashcard } from "../../../../metabase-types/store";
import type { NavigateToNewCardFromDashboardOpts } from "./types";
export interface DashCardProps {
    dashboard: Dashboard;
    dashcard: StoreDashcard;
    gridItemWidth: number;
    totalNumGridCols: number;
    slowCards: Record<CardId, boolean>;
    mode?: QueryClickActionsMode | Mode;
    clickBehaviorSidebarDashcard?: DashboardCard | null;
    isEditing?: boolean;
    isEditingParameter?: boolean;
    isFullscreen?: boolean;
    isMobile?: boolean;
    isNightMode?: boolean;
    /** If public sharing or static/public embed */
    isPublicOrEmbedded?: boolean;
    isXray?: boolean;
    withTitle?: boolean;
    /** Bool if removing the dashcard will queue the card to be trashed on dashboard save */
    isTrashedOnRemove: boolean;
    onRemove: (dashcard: StoreDashcard) => void;
    onAddSeries: (dashcard: StoreDashcard) => void;
    onReplaceCard: (dashcard: StoreDashcard) => void;
    markNewCardSeen: (dashcardId: DashCardId) => void;
    navigateToNewCardFromDashboard?: (opts: NavigateToNewCardFromDashboardOpts) => void;
    onReplaceAllDashCardVisualizationSettings: (dashcardId: DashCardId, settings: VisualizationSettings) => void;
    onUpdateVisualizationSettings: (dashcardId: DashCardId, settings: VisualizationSettings) => void;
    showClickBehaviorSidebar: (dashcardId: DashCardId | null) => void;
    onChangeLocation: (location: LocationDescriptor) => void;
    downloadsEnabled: boolean;
    /** Auto-scroll to this card on mount */
    autoScroll: boolean;
    /** Callback to execute when the dashcard has auto-scrolled to itself */
    reportAutoScrolledToDashcard: () => void;
    className?: string;
}
declare function DashCardInner({ dashcard, dashboard, slowCards, gridItemWidth, totalNumGridCols, mode, isEditing, isNightMode, isFullscreen, isMobile, isPublicOrEmbedded, isXray, isEditingParameter, clickBehaviorSidebarDashcard, withTitle, isTrashedOnRemove, onRemove, onAddSeries, onReplaceCard, navigateToNewCardFromDashboard, markNewCardSeen, showClickBehaviorSidebar, onChangeLocation, onUpdateVisualizationSettings, onReplaceAllDashCardVisualizationSettings, downloadsEnabled, autoScroll, reportAutoScrolledToDashcard, className, }: DashCardProps): import("react/jsx-runtime").JSX.Element;
export declare const DashCard: import("react").MemoExoticComponent<typeof DashCardInner>;
export {};
