import React from 'react';
import { VizzlyComponents, VizzlyTheming, trackEventCallback } from '../../types';
import { ProvidedValues, StudioState } from './types';
import { Dashboard } from '../../../../shared-logic/src/Dashboard/types';
import { SavingState } from '../../../../shared-logic/src/VizzlyState';
export interface WithDashboardContextProps {
    children: React.ReactNode;
    dashboard: Dashboard;
    runQueriesCallback: VizzlyComponents.runQueriesCallback;
    saving: SavingState;
    trackEvent?: trackEventCallback;
    theme?: VizzlyTheming.Base;
    componentEditor?: StudioState['componentEditor'];
    onDashboardUpdate?: (dashboard: Dashboard, meta: {
        hasUnsavedChanges: boolean;
    }) => void;
    dashboardHash?: string;
}
export declare const DashboardContext: React.Context<ProvidedValues>;
export declare const DashboardContextProvider: React.FC<WithDashboardContextProps>;
export declare const useDashboardContext: () => ProvidedValues;
