import type { StoreApi } from 'zustand'; import { ReactElement, ReactNode } from 'react'; import { DashboardResource, Display, ProjectMetadata, DurationString, DatasourceSpec, EphemeralDashboardResource } from '@perses-dev/core'; import { PanelGroupEditorSlice } from './panel-group-editor-slice'; import { PanelGroupSlice } from './panel-group-slice'; import { PanelEditorSlice } from './panel-editor-slice'; import { PanelSlice } from './panel-slice'; import { DeletePanelGroupSlice } from './delete-panel-group-slice'; import { DeletePanelSlice } from './delete-panel-slice'; import { DiscardChangesConfirmationDialogSlice } from './discard-changes-dialog-slice'; import { SaveChangesConfirmationDialogSlice } from './save-changes-dialog-slice'; import { DuplicatePanelSlice } from './duplicate-panel-slice'; import { EditJsonDialogSlice } from './edit-json-dialog-slice'; import { ViewPanelSlice, VirtualPanelRef } from './view-panel-slice'; export interface DashboardStoreState extends PanelGroupSlice, PanelSlice, PanelGroupEditorSlice, DeletePanelGroupSlice, PanelEditorSlice, DeletePanelSlice, DiscardChangesConfirmationDialogSlice, DuplicatePanelSlice, EditJsonDialogSlice, SaveChangesConfirmationDialogSlice, ViewPanelSlice { isEditMode: boolean; setEditMode: (isEditMode: boolean) => void; setDashboard: (dashboard: DashboardResource | EphemeralDashboardResource) => void; kind: DashboardResource['kind'] | EphemeralDashboardResource['kind']; metadata: ProjectMetadata; duration: DurationString; refreshInterval: DurationString; display?: Display; datasources?: Record; ttl?: DurationString; } export declare const DashboardContext: import("react").Context | undefined>; export declare function useDashboardStore(selector: (state: DashboardStoreState) => T): T; export interface DashboardStoreProps { dashboardResource: DashboardResource | EphemeralDashboardResource; isEditMode?: boolean; viewPanelRef?: VirtualPanelRef; setViewPanelRef?: (viewPanelRef: VirtualPanelRef | undefined) => void; } export interface DashboardProviderProps { initialState: DashboardStoreProps; children?: ReactNode; } export declare function DashboardProvider(props: DashboardProviderProps): ReactElement; //# sourceMappingURL=DashboardProvider.d.ts.map