export interface VpcConfiguration {
    /** The list of Amazon EC2 security group IDs attached to the Amazon VPC for your Grafana workspace to connect. Duplicates not allowed. */
    securityGroupIds: string[];
    /** The list of Amazon EC2 subnet IDs created in the Amazon VPC for your Grafana workspace to connect. Duplicates not allowed. */
    subnetIds: string[];
}
export interface NetworkAccessConfiguration {
    /** An array of prefix list IDs. A prefix list is a list of CIDR ranges of IP addresses. The IP addresses specified are allowed to access your workspace. If the list is not included in the configuration ( */
    prefixListIds: string[];
    /** An array of Amazon VPC endpoint IDs for the workspace. You can create VPC endpoints to your Amazon Managed Grafana workspace for access from within a VPC. If a NetworkAccessConfiguration is specified  */
    vpceIds: string[];
}
export interface UpdateInstruction {
    /** Specifies whether this update is to add or revoke role permissions. */
    action: 'ADD' | 'REVOKE';
    /** The role to add or revoke for the user or the group specified in users. */
    role: 'ADMIN' | 'EDITOR' | 'VIEWER';
    /** A structure that specifies the user or group to add or revoke the role for. */
    users: any[];
}
export interface AssertionAttributes {
    /** The name of the attribute within the SAML assertion to use as the user full "friendly" names for SAML users. */
    name?: string;
    /** The name of the attribute within the SAML assertion to use as the login names for SAML users. */
    login?: string;
    /** The name of the attribute within the SAML assertion to use as the email names for SAML users. */
    email?: string;
    /** The name of the attribute within the SAML assertion to use as the user full "friendly" names for user groups. */
    groups?: string;
    /** The name of the attribute within the SAML assertion to use as the user roles. */
    role?: string;
    /** The name of the attribute within the SAML assertion to use as the user full "friendly" names for the users' organizations. */
    org?: string;
}
export interface RoleValues {
    /** A list of groups from the SAML assertion attribute to grant the Grafana Editor role to. */
    editor?: any[];
    /** A list of groups from the SAML assertion attribute to grant the Grafana Admin role to. */
    admin?: any[];
}
export interface SamlConfiguration {
    /** A structure containing the identity provider (IdP) metadata used to integrate the identity provider with this workspace. */
    idpMetadata: {
        url?: string;
    } | {
        xml?: string;
    };
    /** A structure that defines which attributes in the SAML assertion are to be used to define information about the users authenticated by that IdP to use the workspace. */
    assertionAttributes?: AssertionAttributes;
    /** A structure containing arrays that map group names in the SAML assertion to the Grafana Admin and Editor roles in the workspace. */
    roleValues?: RoleValues;
    /** Lists which organizations defined in the SAML assertion are allowed to use the Amazon Managed Grafana workspace. If this is empty, all organizations in the assertion attribute have access. */
    allowedOrganizations?: string[];
    /** How long a sign-on session by a SAML user is valid, before the user has to sign on again. */
    loginValidityDuration?: number;
}
export interface AssociateLicenseInput {
    /** The type of license to associate with the workspace. Amazon Managed Grafana workspaces no longer support Grafana Enterprise free trials. */
    licenseType: 'ENTERPRISE' | 'ENTERPRISE_FREE_TRIAL';
    /** The ID of the workspace to associate the license with. */
    workspaceId: string;
    /** A token from Grafana Labs that ties your Amazon Web Services account with a Grafana Labs account. For more information, see Link your account with Grafana Labs. */
    grafanaToken?: string;
}
export interface CreateWorkspaceInput {
    /** Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources in other accounts in the  */
    accountAccessType: 'CURRENT_ACCOUNT' | 'ORGANIZATION';
    /** Specifies whether this workspace uses SAML 2.0, IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace. For more information, see User authentication in Am */
    authenticationProviders: 'AWS_SSO' | 'SAML'[];
    /** When creating a workspace through the Amazon Web Services API, CLI or Amazon Web Services CloudFormation, you must manage IAM roles and provision the permissions that the workspace needs to use Amazon */
    permissionType: 'CUSTOMER_MANAGED' | 'SERVICE_MANAGED';
    /** A unique, case-sensitive, user-provided identifier to ensure the idempotency of the request. */
    clientToken?: string;
    /** The configuration string for the workspace that you create. For more information about the format and configuration options available, see Working in your Grafana workspace. */
    configuration?: string;
    /** Specifies the version of Grafana to support in the new workspace. If not specified, defaults to the latest version (for example, 10.4). To get a list of supported versions, use the ListVersions operat */
    grafanaVersion?: string;
    /** The ID or ARN of the Key Management Service key to use for encrypting workspace data. */
    kmsKeyId?: string;
    /** Configuration for network access to your workspace. When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. Standard Grafana authentication and autho */
    networkAccessControl?: NetworkAccessConfiguration;
    /** The name of an IAM role that already exists to use with Organizations to access Amazon Web Services data sources and notification channels in other accounts in an organization. */
    organizationRoleName?: string;
    /** The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. */
    stackSetName?: string;
    /** The list of tags associated with the workspace. */
    tags?: Record<string, string>;
    /** The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. Connecting to a private VPC is not yet available in the Asia Pacific (Seoul) Region (a */
    vpcConfiguration?: VpcConfiguration;
    /** This parameter is for internal use only, and should not be used. */
    workspaceDataSources?: 'AMAZON_OPENSEARCH_SERVICE' | 'CLOUDWATCH' | 'PROMETHEUS' | 'XRAY' | 'TIMESTREAM' | 'SITEWISE' | 'ATHENA' | 'REDSHIFT' | 'TWINMAKER'[];
    /** A description for the workspace. This is used only to help you identify this workspace. Pattern: ^[\\p{L}\\p{Z}\\p{N}\\p{P}]{0,2048}$ */
    workspaceDescription?: string;
    /** The name for the workspace. It does not have to be unique. */
    workspaceName?: string;
    /** Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that */
    workspaceNotificationDestinations?: 'SNS'[];
    /** Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization. */
    workspaceOrganizationalUnits?: string[];
    /** Specified the IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from, including both data sources and notification channels. You are responsible f */
    workspaceRoleArn?: string;
}
export interface CreateWorkspaceApiKeyInput {
    /** Specifies the name of the key. Keynames must be unique to the workspace. */
    keyName: string;
    /** Specifies the permission level of the key. Valid values: ADMIN|EDITOR|VIEWER */
    keyRole: string;
    /** Specifies the time in seconds until the key expires. Keys can be valid for up to 30 days. */
    secondsToLive: number;
    /** The ID of the workspace to create an API key. */
    workspaceId: string;
}
export interface CreateWorkspaceServiceAccountInput {
    /** The permission level to use for this service account. For more information about the roles and the permissions each has, see User roles in the Amazon Managed Grafana User Guide. */
    grafanaRole: 'ADMIN' | 'EDITOR' | 'VIEWER';
    /** A name for the service account. The name must be unique within the workspace, as it determines the ID associated with the service account. */
    name: string;
    /** The ID of the workspace within which to create the service account. */
    workspaceId: string;
}
export interface CreateWorkspaceServiceAccountTokenInput {
    /** A name for the token to create. */
    name: string;
    /** Sets how long the token will be valid, in seconds. You can set the time up to 30 days in the future. */
    secondsToLive: number;
    /** The ID of the service account for which to create a token. */
    serviceAccountId: string;
    /** The ID of the workspace the service account resides within. */
    workspaceId: string;
}
export interface DeleteWorkspaceInput {
    /** The ID of the workspace to delete. */
    workspaceId: string;
}
export interface DeleteWorkspaceApiKeyInput {
    /** The name of the API key to delete. */
    keyName: string;
    /** The ID of the workspace to delete. */
    workspaceId: string;
}
export interface DeleteWorkspaceServiceAccountInput {
    /** The ID of the service account to delete. */
    serviceAccountId: string;
    /** The ID of the workspace where the service account resides. */
    workspaceId: string;
}
export interface DeleteWorkspaceServiceAccountTokenInput {
    /** The ID of the service account from which to delete the token. */
    serviceAccountId: string;
    /** The ID of the token to delete. */
    tokenId: string;
    /** The ID of the workspace from which to delete the token. */
    workspaceId: string;
}
export interface DescribeWorkspaceInput {
    /** The ID of the workspace to display information about. */
    workspaceId: string;
}
export interface DescribeWorkspaceAuthenticationInput {
    /** The ID of the workspace to return authentication information about. */
    workspaceId: string;
}
export interface DescribeWorkspaceConfigurationInput {
    /** The ID of the workspace to get configuration information for. */
    workspaceId: string;
}
export interface DisassociateLicenseInput {
    /** The type of license to remove from the workspace. */
    licenseType: 'ENTERPRISE' | 'ENTERPRISE_FREE_TRIAL';
    /** The ID of the workspace to remove the Grafana Enterprise license from. */
    workspaceId: string;
}
export interface ListPermissionsInput {
    /** The ID of the workspace to list permissions for. This parameter is required. */
    workspaceId: string;
    /** (Optional) Limits the results to only the group that matches this ID. */
    groupId?: string;
    /** The maximum number of results to include in the response. */
    maxResults?: number;
    /** The token to use when requesting the next set of results. You received this token from a previous ListPermissions operation. */
    nextToken?: string;
    /** (Optional) Limits the results to only the user that matches this ID. */
    userId?: string;
    /** (Optional) If you specify SSO_USER, then only the permissions of IAM Identity Center users are returned. If you specify SSO_GROUP, only the permissions of IAM Identity Center groups are returned. */
    userType?: 'SSO_USER' | 'SSO_GROUP';
}
export interface ListTagsForResourceInput {
    /** The ARN of the resource the list of tags are associated with. */
    resourceArn: string;
}
export interface ListVersionsInput {
    /** The maximum number of results to include in the response. */
    maxResults?: number;
    /** The token to use when requesting the next set of results. You receive this token from a previous ListVersions operation. */
    nextToken?: string;
    /** The ID of the workspace to list the available upgrade versions. If not included, lists all versions of Grafana that are supported for CreateWorkspace. */
    workspaceId?: string;
}
export interface ListWorkspacesInput {
    /** The maximum number of workspaces to include in the results. */
    maxResults?: number;
    /** The token for the next set of workspaces to return. (You receive this token from a previous ListWorkspaces operation.) */
    nextToken?: string;
}
export interface ListWorkspaceServiceAccountsInput {
    /** The workspace for which to list service accounts. */
    workspaceId: string;
    /** The maximum number of service accounts to include in the results. */
    maxResults?: number;
    /** The token for the next set of service accounts to return. (You receive this token from a previous ListWorkspaceServiceAccounts operation.) */
    nextToken?: string;
}
export interface ListWorkspaceServiceAccountTokensInput {
    /** The ID of the service account for which to return tokens. */
    serviceAccountId: string;
    /** The ID of the workspace for which to return tokens. */
    workspaceId: string;
    /** The maximum number of tokens to include in the results. */
    maxResults?: number;
    /** The token for the next set of service accounts to return. (You receive this token from a previous ListWorkspaceServiceAccountTokens operation.) */
    nextToken?: string;
}
export interface TagResourceInput {
    /** The ARN of the resource the tag is associated with. */
    resourceArn: string;
    /** The list of tag keys and values to associate with the resource. You can associate tag keys only, tags (key and values) only or a combination of tag keys and tags. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The ARN of the resource the tag association is removed from. */
    resourceArn: string;
    /** The key values of the tag to be removed from the resource. */
    tagKeys: string[];
}
export interface UpdatePermissionsInput {
    /** An array of structures that contain the permission updates to make. */
    updateInstructionBatch: UpdateInstruction[];
    /** The ID of the workspace to update. */
    workspaceId: string;
}
export interface UpdateWorkspaceInput {
    /** The ID of the workspace to update. */
    workspaceId: string;
    /** Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account only, or whether it can also access Amazon Web Services resources in other accounts in the  */
    accountAccessType?: 'CURRENT_ACCOUNT' | 'ORGANIZATION';
    /** The configuration settings for network access to your workspace. When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. Standard Grafana authenticat */
    networkAccessControl?: NetworkAccessConfiguration;
    /** The name of an IAM role that already exists to use to access resources through Organizations. This can only be used with a workspace that has the permissionType set to CUSTOMER_MANAGED. */
    organizationRoleName?: string;
    /** Use this parameter if you want to change a workspace from SERVICE_MANAGED to CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access datasources and notification  */
    permissionType?: 'CUSTOMER_MANAGED' | 'SERVICE_MANAGED';
    /** Whether to remove the network access configuration from the workspace. Setting this to true and providing a networkAccessControl to set will return an error. If you remove this configuration by settin */
    removeNetworkAccessConfiguration?: boolean;
    /** Whether to remove the VPC configuration from the workspace. Setting this to true and providing a vpcConfiguration to set will return an error. */
    removeVpcConfiguration?: boolean;
    /** The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. */
    stackSetName?: string;
    /** The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. */
    vpcConfiguration?: VpcConfiguration;
    /** This parameter is for internal use only, and should not be used. */
    workspaceDataSources?: 'AMAZON_OPENSEARCH_SERVICE' | 'CLOUDWATCH' | 'PROMETHEUS' | 'XRAY' | 'TIMESTREAM' | 'SITEWISE' | 'ATHENA' | 'REDSHIFT' | 'TWINMAKER'[];
    /** A description for the workspace. This is used only to help you identify this workspace. */
    workspaceDescription?: string;
    /** A new name for the workspace to update. */
    workspaceName?: string;
    /** Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that */
    workspaceNotificationDestinations?: 'SNS'[];
    /** Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is in an account that is part of an organization. */
    workspaceOrganizationalUnits?: string[];
    /** Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such as data sources and notification channels. If this workspace has permissionType CUSTOME */
    workspaceRoleArn?: string;
}
export interface UpdateWorkspaceAuthenticationInput {
    /** Specifies whether this workspace uses SAML 2.0, IAM Identity Center, or both to authenticate users for using the Grafana console within a workspace. For more information, see User authentication in Am */
    authenticationProviders: 'AWS_SSO' | 'SAML'[];
    /** The ID of the workspace to update the authentication for. */
    workspaceId: string;
    /** If the workspace uses SAML, use this structure to map SAML assertion attributes to workspace user information and define which groups in the assertion attribute are to have the Admin and Editor roles  */
    samlConfiguration?: SamlConfiguration;
}
export interface UpdateWorkspaceConfigurationInput {
    /** The new configuration string for the workspace. For more information about the format and configuration options available, see Working in your Grafana workspace. */
    configuration: string;
    /** The ID of the workspace to update. */
    workspaceId: string;
    /** Specifies the version of Grafana to support in the workspace. If not specified, keeps the current version of the workspace. Can only be used to upgrade (for example, from 8.4 to 9.4), not downgrade (f */
    grafanaVersion?: string;
}
/** grafana service binding for Step Functions SDK integrations. */
export declare class grafana {
    constructor();
    associateLicense<T>(params: AssociateLicenseInput): Promise<T>;
    createWorkspace<T>(params: CreateWorkspaceInput): Promise<T>;
    createWorkspaceApiKey<T>(params: CreateWorkspaceApiKeyInput): Promise<T>;
    createWorkspaceServiceAccount<T>(params: CreateWorkspaceServiceAccountInput): Promise<T>;
    createWorkspaceServiceAccountToken<T>(params: CreateWorkspaceServiceAccountTokenInput): Promise<T>;
    deleteWorkspace<T>(params: DeleteWorkspaceInput): Promise<T>;
    deleteWorkspaceApiKey<T>(params: DeleteWorkspaceApiKeyInput): Promise<T>;
    deleteWorkspaceServiceAccount<T>(params: DeleteWorkspaceServiceAccountInput): Promise<T>;
    deleteWorkspaceServiceAccountToken<T>(params: DeleteWorkspaceServiceAccountTokenInput): Promise<T>;
    describeWorkspace<T>(params: DescribeWorkspaceInput): Promise<T>;
    describeWorkspaceAuthentication<T>(params: DescribeWorkspaceAuthenticationInput): Promise<T>;
    describeWorkspaceConfiguration<T>(params: DescribeWorkspaceConfigurationInput): Promise<T>;
    disassociateLicense<T>(params: DisassociateLicenseInput): Promise<T>;
    listPermissions<T>(params: ListPermissionsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listVersions<T>(params: ListVersionsInput): Promise<T>;
    listWorkspaces<T>(params: ListWorkspacesInput): Promise<T>;
    listWorkspaceServiceAccounts<T>(params: ListWorkspaceServiceAccountsInput): Promise<T>;
    listWorkspaceServiceAccountTokens<T>(params: ListWorkspaceServiceAccountTokensInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updatePermissions<T>(params: UpdatePermissionsInput): Promise<T>;
    updateWorkspace<T>(params: UpdateWorkspaceInput): Promise<T>;
    updateWorkspaceAuthentication<T>(params: UpdateWorkspaceAuthenticationInput): Promise<T>;
    updateWorkspaceConfiguration<T>(params: UpdateWorkspaceConfigurationInput): Promise<T>;
}
//# sourceMappingURL=grafana.d.ts.map