export interface Widget {
    /** The unique identifier for the widget. */
    id?: string;
    /** The title of the widget. */
    title: string;
    /** A description of the widget's purpose or the data it displays. */
    description?: string;
    /** The width of the widget in column spans. The dashboard layout consists of a grid system. */
    width?: number;
    /** The height of the widget in row spans. The dashboard layout consists of a grid system. */
    height?: number;
    /** Specifies the starting column position of the widget in the dashboard's grid layout. Used to control widget placement. */
    horizontalOffset?: number;
    /** An array of configurations that define the data queries and display settings for the widget. */
    configs: any[];
}
export interface ResourceTag {
    /** The key of the tag to be attached to the dashboard resource. */
    key: string;
    /** The value of the tag to be attached to the dashboard resource. */
    value: string;
}
export interface CreateDashboardInput {
    /** The name of the dashboard. The name must be unique within your account. */
    name: string;
    /** An array of widget configurations that define the visualizations to be displayed in the dashboard. Each dashboard can contain up to 20 widgets. */
    widgets: Widget[];
    /** A description of the dashboard's purpose or contents. */
    description?: string;
    /** The tags to apply to the dashboard resource for organization and management. */
    resourceTags?: ResourceTag[];
}
export interface DeleteDashboardInput {
    /** The ARN of the dashboard to be deleted. */
    arn: string;
}
export interface GetDashboardInput {
    /** The ARN of the dashboard to retrieve. This is required to uniquely identify the dashboard. */
    arn: string;
}
export interface GetResourcePolicyInput {
    /** The ARN of the dashboard whose resource-based policy you want to retrieve. */
    resourceArn: string;
}
export interface ListDashboardsInput {
    /** The maximum number of results to return in a single call. The default value is 20. */
    maxResults?: number;
    /** The token for the next page of results. Use the value returned in the previous response. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The unique identifier for the resource. */
    resourceArn: string;
}
export interface TagResourceInput {
    /** The unique identifier for the resource. */
    resourceArn: string;
    /** The tags to add to the dashboard resource. */
    resourceTags: ResourceTag[];
}
export interface UntagResourceInput {
    /** The unique identifier for the resource. */
    resourceArn: string;
    /** The keys of the tags to remove from the dashboard resource. */
    resourceTagKeys: string[];
}
export interface UpdateDashboardInput {
    /** The ARN of the dashboard to update. */
    arn: string;
    /** The new description for the dashboard. If not specified, the existing description is retained. */
    description?: string;
    /** The new name for the dashboard. If not specified, the existing name is retained. */
    name?: string;
    /** The updated array of widget configurations for the dashboard. Replaces all existing widgets. */
    widgets?: Widget[];
}
/** BCM Dashboards service binding for Step Functions SDK integrations. */
export declare class BCMDashboards {
    constructor();
    createDashboard<T>(params: CreateDashboardInput): Promise<T>;
    deleteDashboard<T>(params: DeleteDashboardInput): Promise<T>;
    getDashboard<T>(params: GetDashboardInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    listDashboards<T>(params: ListDashboardsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDashboard<T>(params: UpdateDashboardInput): Promise<T>;
}
//# sourceMappingURL=BCMDashboards.d.ts.map