import * as aws from '@pulumi/aws';
import * as pulumi from '@pulumi/pulumi';
import * as grafana from '@pulumiverse/grafana';
export declare namespace GrafanaConnection {
    type Args = {
        awsAccountId: string;
        dataSourceName?: string;
        stack: pulumi.Input<grafana.cloud.GetStackResult>;
    };
    type CreateConnectionContext = Pick<Args, 'stack'>;
    type CreateConnection = (ctx: CreateConnectionContext, opts: pulumi.ComponentResourceOptions) => GrafanaConnection;
}
export declare abstract class GrafanaConnection extends pulumi.ComponentResource {
    readonly name: string;
    readonly role: aws.iam.Role;
    abstract readonly dataSource: grafana.oss.DataSource;
    protected readonly dataSourceName: string;
    protected readonly stack: pulumi.Output<grafana.cloud.GetStackResult>;
    constructor(type: string, name: string, args: GrafanaConnection.Args, opts?: pulumi.ComponentResourceOptions);
    private createIamRole;
}
//# sourceMappingURL=connection.d.ts.map