import type { Filter, FilterRelations } from '@sisense/sdk-data'; import { type ComposableDashboardProps as ComposableDashboardPropsPreact, type UseComposedDashboardOptions, type WidgetsPanelLayout } from '@sisense/sdk-ui-preact'; import { type Ref } from 'vue'; import type { DashboardConfig, DashboardProps } from '../components/dashboard'; import type { MaybeRef } from '../types'; export interface ComposableDashboardProps extends Omit { /** * {@inheritDoc @sisense/sdk-ui!DashboardProps.config} */ config?: DashboardConfig; } /** * A Vue composable function `useComposedDashboard` that takes in separate dashboard elements and * composes them into a coordinated dashboard with cross filtering, and change detection. * * @example * How to use `useComposedDashboard` within a Vue component: * ```vue * ``` * * The composable returns an object with the following properties: * - `dashboard`: The composable dashboard object containing the current state of the dashboard. * - `setFilters`: API to set filters on the dashboard. * - `setWidgetsLayout`: API to set the layout of the widgets on the dashboard. * * @group Dashboards */ export declare const useComposedDashboard: (initialDashboard: MaybeRef, options?: UseComposedDashboardOptions) => { dashboard: Ref; setFilters: (filters: Filter[] | FilterRelations) => void; setWidgetsLayout: (newLayout: WidgetsPanelLayout) => void; };