import * as pulumi from '@pulumi/pulumi';
import { AMPConnection, CloudWatchLogsConnection, GrafanaConnection, XRayConnection } from './connections';
import { Grafana } from './grafana';
import type { GrafanaDashboardBuilder } from './dashboards/builder';
import { SloDashboard } from './dashboards/slo';
import { LogsAndTracesDashboard } from './dashboards/logs-and-traces';
export declare class GrafanaBuilder {
    private readonly name;
    private readonly connectionBuilders;
    private readonly dashboardBuilders;
    private readonly scopes;
    private readonly plugins;
    private stackSlug?;
    private folderName?;
    private serviceAccountTokenRotation?;
    private accessPolicyTokenRotation?;
    constructor(name: string);
    withStackSlug(stackSlug: string): this;
    withFolderName(folderName: string): this;
    withServiceAccountTokenRotation(rotation: Grafana.ServiceAccountTokenRotation): this;
    withAccessPolicyTokenRotation(rotation: Grafana.AccessPolicyTokenRotation): this;
    addScope(...scopes: string[]): this;
    addPlugin(plugin: Grafana.PluginArgs): this;
    addAmp(name: string, args: Omit<AMPConnection.Args, 'stack'>): this;
    addCloudWatchLogs(name: string, args: Omit<CloudWatchLogsConnection.Args, 'stack'>): this;
    addXRay(name: string, args: Omit<XRayConnection.Args, 'stack'>): this;
    addConnection(builder: GrafanaConnection.CreateConnection): this;
    addSloDashboard(config: SloDashboard.Args): this;
    addLogsAndTracesDashboard(config: LogsAndTracesDashboard.Args): this;
    addDashboard(dashboard: GrafanaDashboardBuilder.CreateDashboard): this;
    build(opts?: pulumi.ComponentResourceOptions): Grafana;
}
//# sourceMappingURL=builder.d.ts.map