import { GraphQLClient } from 'graphql-request';
import { Dashboard, CreateDashboardInput, CreateDashboardResponse, GetDashboardResponse } from '../../types/jupiterone.js';
export declare class DashboardService {
    private client;
    constructor(client: GraphQLClient);
    /**
     * Construct dashboard URL based on subdomain
     */
    constructDashboardUrl(dashboardId: string, subdomain?: string): string;
    /**
     * Get all dashboards
     */
    getDashboards(): Promise<Dashboard[]>;
    /**
     * Create a new dashboard
     */
    createDashboard(input: CreateDashboardInput): Promise<CreateDashboardResponse['createDashboard']>;
    /**
     * Get dashboard details by ID
     */
    getDashboard(dashboardId: string): Promise<GetDashboardResponse['getDashboard']>;
    /**
     * Create a new dashboard widget
     */
    createDashboardWidget(dashboardId: string, input: any): Promise<any>;
    /**
     * Delete a widget from a dashboard.
     */
    deleteDashboardWidget(dashboardId: string, widgetId: string): Promise<{
        success: boolean | null;
    }>;
    /**
     * Update (replace) a widget's definition. `newWidget` must be the full widget, including its `id`.
     */
    updateDashboardWidget(dashboardId: string, newWidget: any): Promise<{
        resultCode: string | null;
    }>;
    /**
     * Delete a dashboard.
     */
    deleteDashboard(dashboardId: string): Promise<{
        success: boolean | null;
    }>;
    updateDashboard(input: {
        dashboardId: string;
        layouts: {
            xs?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            sm?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            md?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            lg?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            xl?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
        };
    }): Promise<any>;
    patchDashboard(input: {
        dashboardId: string;
        layouts: {
            xs?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            sm?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            md?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            lg?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
            xl?: Array<{
                w: number;
                h: number;
                x: number;
                y: number;
                i: string;
                moved: boolean;
                static: boolean;
            }>;
        };
    }): Promise<any>;
}
//# sourceMappingURL=dashboard-service.d.ts.map