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 { DashboardProps } from '../components/dashboard';
import type { MaybeRef } from '../types';
export interface ComposableDashboardProps extends ComposableDashboardPropsPreact {
}
/**
* 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;
};