import type { ComponentType } from "react";
import type { DASHBOARD_ACTION } from "../../../../dashboard/components/DashboardHeader/DashboardHeaderButtonRow/action-buttons";
import type { DashboardFullscreenControls, DashboardNightModeControls, DashboardRefreshPeriodControls } from "../../../../dashboard/types";
import type { Collection, Dashboard } from "../../../../../metabase-types/api";
export type DashboardActionKey = keyof typeof DASHBOARD_ACTION;
export type DashboardHeaderButtonRowProps = {
    canResetFilters: boolean;
    onResetFilters: () => void;
    collection?: Collection;
    isPublic?: boolean;
    isAnalyticsDashboard?: boolean;
} & DashboardRefreshPeriodControls & DashboardFullscreenControls & DashboardNightModeControls;
export type HeaderButtonProps = {
    canResetFilters: boolean;
    onResetFilters: () => void;
    isEditing: boolean;
    canEdit: boolean;
    hasModelActionsEnabled: boolean;
    dashboard: Dashboard;
    canManageSubscriptions: boolean;
    formInput: any;
    isAdmin: boolean;
    isEmbeddingSdk: boolean;
    openSettingsSidebar: () => void;
} & DashboardHeaderButtonRowProps;
export type DashboardActionButton = {
    component: ComponentType<HeaderButtonProps>;
    enabled: (props: HeaderButtonProps) => boolean;
};
