import { RestApi } from '../../../../infra/api/rest-api.js';
import { DashboardDto } from '../../../../infra/api/types/dashboard-dto.js';
import { WidgetDto } from './types.js';
/**
 * Fetches a Widget DTO model and, optionally, a Dashboard DTO model.
 *
 * @internal
 * @param {object} options - The options for fetching the DTO models.
 * @param {string} options.widgetOid - The OID of the widget to fetch.
 * @param {string} options.dashboardOid - The OID of the dashboard to which the widget belongs.
 * @param {boolean} [options.includeDashboard] - (Optional) Whether to include the associated dashboard.
 * @param {RestApi} options.api - The RestApi instance to use for fetching.
 * @returns {Promise<{widget: WidgetDto, dashboard?: DashboardDto}>} A promise that resolves to an object containing the Widget DTO and optionally the Dashboard DTO.
 */
export declare const fetchWidgetDtoModel: ({ widgetOid, dashboardOid, includeDashboard, api, }: {
    widgetOid: string;
    dashboardOid: string;
    includeDashboard?: boolean | undefined;
    api: RestApi;
}) => Promise<{
    widget: WidgetDto | undefined;
    dashboard: DashboardDto | undefined;
}>;
/**
 * Custom hook for fetching Widget DTO and Dashboard DTO models.
 *
 * @internal
 * @param {object} options - The options for fetching the DTO models.
 * @param {string} options.widgetOid - The OID of the widget to fetch.
 * @param {string} options.dashboardOid - The OID of the dashboard to which the widget belongs.
 * @param {boolean} [options.includeDashboard] - (Optional) Whether to include the associated dashboard.
 * @returns {{
 *   widget: WidgetDto,
 *   dashboard?: DashboardDto,
 *   error: Error
 * }} An object containing the Widget DTO, optionally the Dashboard DTO, and an error if fetching fails.
 */
export declare const useFetchWidgetDtoModel: ({ widgetOid, dashboardOid, includeDashboard, }: {
    widgetOid: string;
    dashboardOid: string;
    includeDashboard?: boolean | undefined;
}) => {
    error: Error | undefined;
    widget?: WidgetDto | undefined;
    dashboard?: DashboardDto | undefined;
};
