import { HttpClient } from '@sisense/sdk-rest-client';
import { DashboardModel } from '../../../domains/dashboarding/dashboard-model';
import { AppSettings } from '../../../infra/app/settings/settings';
import { CompleteThemeSettings } from '../../../types';
export interface GetDashboardModelOptions {
    /**
     * Boolean flag whether to include widgets in the dashboard model
     *
     * If not specified, the default value is `false`
     */
    includeWidgets?: boolean;
    /**
     * Boolean flag whether to include filters in the dashboard model
     *
     * If not specified, the default value is `false`
     */
    includeFilters?: boolean;
    /**
     * Whether to load the dashboard in shared mode (co-authoring feature).
     *
     * @default false
     * @internal
     */
    sharedMode?: boolean;
    /**
     * Whether to use the legacy API version for the dashboard model
     * For example, when 'expand' query parameter is needed to retrieve userAuth
     *
     * @default false
     * @internal
     */
    useLegacyApiVersion?: boolean;
}
/**
 * Retrieves a dashboard model by its OID.
 *
 * @param http - The HTTP client
 * @param dashboardOid - The OID of the dashboard
 * @param options - The options to include widgets and filters in the dashboard model
 * @param themeSettings - Optional theme settings
 * @param appSettings - Optional application settings
 * @returns The dashboard model
 *
 * @internal
 * @sisenseInternal
 */
export declare function getDashboardModel(http: HttpClient, dashboardOid: string, options?: GetDashboardModelOptions, themeSettings?: CompleteThemeSettings, appSettings?: AppSettings): Promise<DashboardModel>;
