export interface SnsChannelConfig {
    /** The Amazon Resource Name (ARN) of an Amazon Simple Notification Service topic. */
    TopicArn?: string;
}
export interface NotificationFilterConfig {
    /** The severity levels that you want to receive notifications for. For example, you can choose to receive notifications only for insights with HIGH and MEDIUM severity levels. For more information, see U */
    Severities?: any[];
    /** The events that you want to receive notifications for. For example, you can choose to receive notifications only when the severity level is upgraded or a new insight is created. */
    MessageTypes?: any[];
}
export interface NotificationChannelConfig {
    /** Information about a notification channel configured in DevOps Guru to send notifications when insights are created. If you use an Amazon SNS topic in another account, you must attach a policy to it th */
    Sns: SnsChannelConfig;
    /** The filter configurations for the Amazon SNS notification topic you use with DevOps Guru. If you do not provide filter configurations, the default configurations are to receive notifications for all m */
    Filters?: NotificationFilterConfig;
}
export interface StartTimeRange {
    /** The start time of the time range. */
    FromTime?: string;
    /** The end time of the time range. */
    ToTime?: string;
}
export interface ServiceCollection {
    /** An array of strings that each specifies the name of an Amazon Web Services service. */
    ServiceNames?: any[];
}
export interface ListAnomaliesForInsightFilters {
    ServiceCollection?: ServiceCollection;
}
export interface EventTimeRange {
    /** The time when the event started. */
    FromTime: string;
    /** The time when the event ended. */
    ToTime: string;
}
export interface ResourceCollection {
    /** An array of the names of Amazon Web Services CloudFormation stacks. The stacks define Amazon Web Services resources that DevOps Guru analyzes. You can specify up to 500 Amazon Web Services CloudFormat */
    CloudFormation?: any;
    /** The Amazon Web Services tags that are used by resources in the resource collection. Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support ta */
    Tags?: any[];
}
export interface ListEventsFilters {
    /** An ID of an insight that is related to the events you want to filter for. */
    InsightId?: string;
    /** A time range during which you want the filtered events to have occurred. */
    EventTimeRange?: EventTimeRange;
    /** The class of the events you want to filter for, such as an infrastructure change, a deployment, or a schema change. */
    EventClass?: 'INFRASTRUCTURE' | 'DEPLOYMENT' | 'SECURITY_CHANGE' | 'CONFIG_CHANGE' | 'SCHEMA_CHANGE';
    /** The Amazon Web Services source that emitted the events you want to filter for. */
    EventSource?: string;
    /** The source, AWS_CLOUD_TRAIL or AWS_CODE_DEPLOY, of the events you want returned. */
    DataSource?: 'AWS_CLOUD_TRAIL' | 'AWS_CODE_DEPLOY';
    ResourceCollection?: ResourceCollection;
}
export interface ListInsightsOngoingStatusFilter {
    /** Use to filter for either REACTIVE or PROACTIVE insights. */
    Type: 'REACTIVE' | 'PROACTIVE';
}
export interface ListInsightsClosedStatusFilter {
    /** Use to filter for either REACTIVE or PROACTIVE insights. */
    Type: 'REACTIVE' | 'PROACTIVE';
    /** A time range used to specify when the behavior of the filtered insights ended. */
    EndTimeRange: any;
}
export interface ListInsightsAnyStatusFilter {
    /** Use to filter for either REACTIVE or PROACTIVE insights. */
    Type: 'REACTIVE' | 'PROACTIVE';
    /** A time range used to specify when the behavior of the filtered insights started. */
    StartTimeRange: any;
}
export interface ListInsightsStatusFilter {
    /** A ListInsightsAnyStatusFilter that specifies ongoing insights that are either REACTIVE or PROACTIVE. */
    Ongoing?: ListInsightsOngoingStatusFilter;
    /** A ListInsightsClosedStatusFilter that specifies closed insights that are either REACTIVE or PROACTIVE. */
    Closed?: ListInsightsClosedStatusFilter;
    /** A ListInsightsAnyStatusFilter that specifies insights of any status that are either REACTIVE or PROACTIVE. */
    Any?: ListInsightsAnyStatusFilter;
}
export interface ListMonitoredResourcesFilters {
    /** The permission status of a resource. */
    ResourcePermission: 'FULL_PERMISSION' | 'MISSING_PERMISSION';
    /** The type of resource that you wish to retrieve, such as log groups. */
    ResourceTypeFilters: 'LOG_GROUPS' | 'CLOUDFRONT_DISTRIBUTION' | 'DYNAMODB_TABLE' | 'EC2_NAT_GATEWAY' | 'ECS_CLUSTER' | 'ECS_SERVICE' | 'EKS_CLUSTER' | 'ELASTIC_BEANSTALK_ENVIRONMENT' | 'ELASTIC_LOAD_BALANCER_LOAD_BALANCER' | 'ELASTIC_LOAD_BALANCING_V2_LOAD_BALANCER' | 'ELASTIC_LOAD_BALANCING_V2_TARGET_GROUP' | 'ELASTICACHE_CACHE_CLUSTER' | 'ELASTICSEARCH_DOMAIN' | 'KINESIS_STREAM' | 'LAMBDA_FUNCTION' | 'OPEN_SEARCH_SERVICE_DOMAIN' | 'RDS_DB_INSTANCE' | 'RDS_DB_CLUSTER' | 'REDSHIFT_CLUSTER' | 'ROUTE53_HOSTED_ZONE' | 'ROUTE53_HEALTH_CHECK' | 'S3_BUCKET' | 'SAGEMAKER_ENDPOINT' | 'SNS_TOPIC' | 'SQS_QUEUE' | 'STEP_FUNCTIONS_ACTIVITY' | 'STEP_FUNCTIONS_STATE_MACHINE'[];
}
export interface InsightFeedback {
    /** The insight feedback ID. */
    Id?: string;
    /** The feedback provided by the customer. */
    Feedback?: 'VALID_COLLECTION' | 'RECOMMENDATION_USEFUL' | 'ALERT_TOO_SENSITIVE' | 'DATA_NOISY_ANOMALY' | 'DATA_INCORRECT';
}
export interface SearchInsightsFilters {
    /** An array of severity values used to search for insights. */
    Severities?: 'LOW' | 'MEDIUM' | 'HIGH'[];
    /** An array of status values used to search for insights. */
    Statuses?: 'ONGOING' | 'CLOSED'[];
    ResourceCollection?: ResourceCollection;
    /** A collection of the names of Amazon Web Services services. */
    ServiceCollection?: ServiceCollection;
}
export interface SearchOrganizationInsightsFilters {
    /** An array of severity values used to search for insights. */
    Severities?: 'LOW' | 'MEDIUM' | 'HIGH'[];
    /** An array of status values used to search for insights. */
    Statuses?: 'ONGOING' | 'CLOSED'[];
    ResourceCollection?: ResourceCollection;
    ServiceCollection?: ServiceCollection;
}
export interface CloudFormationCostEstimationResourceCollectionFilter {
    /** An array of CloudFormation stack names. Its size is fixed at 1 item. */
    StackNames?: any[];
}
export interface CostEstimationResourceCollectionFilter {
    /** An object that specifies the CloudFormation stack that defines the Amazon Web Services resources used to create a monthly estimate for DevOps Guru. */
    CloudFormation?: CloudFormationCostEstimationResourceCollectionFilter;
    /** The Amazon Web Services tags used to filter the resource collection that is used for a cost estimate. Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services s */
    Tags?: any[];
}
export interface AmazonCodeGuruProfilerIntegration {
    /** The status of the CodeGuru Profiler integration. Specifies if DevOps Guru is enabled to consume recommendations that are generated from Amazon CodeGuru Profiler. */
    Status?: 'ENABLED' | 'DISABLED';
}
export interface EventSourcesConfig {
    /** Information about whether DevOps Guru is configured to consume recommendations which are generated from AWS CodeGuru Profiler. */
    AmazonCodeGuruProfiler?: AmazonCodeGuruProfilerIntegration;
}
export interface UpdateCloudFormationCollectionFilter {
    /** An array of the names of the Amazon Web Services CloudFormation stacks to update. You can specify up to 500 Amazon Web Services CloudFormation stacks. */
    StackNames?: any[];
}
export interface UpdateResourceCollectionFilter {
    /** A collection of Amazon Web Services CloudFormation stacks. You can specify up to 500 Amazon Web Services CloudFormation stacks. */
    CloudFormation?: UpdateCloudFormationCollectionFilter;
    /** The updated Amazon Web Services tags used to filter the resources in the resource collection. Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services  */
    Tags?: any[];
}
export interface OpsCenterIntegrationConfig {
    /** Specifies if DevOps Guru is enabled to create an Amazon Web Services Systems Manager OpsItem for each created insight. */
    OptInStatus?: 'ENABLED' | 'DISABLED';
}
export interface LogsAnomalyDetectionIntegrationConfig {
    /** Specifies if DevOps Guru is configured to perform log anomaly detection on CloudWatch log groups. */
    OptInStatus?: 'ENABLED' | 'DISABLED';
}
export interface KMSServerSideEncryptionIntegrationConfig {
    /** Describes the specified KMS key. To specify a KMS key, use its key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix it with "alias/". If you specify a predefined Amazon Web Serv */
    KMSKeyId?: string;
    /** Specifies if DevOps Guru is enabled for KMS integration. */
    OptInStatus?: 'ENABLED' | 'DISABLED';
    /** The type of KMS key used. Customer managed keys are the KMS keys that you create. Amazon Web Services owned keys are keys that are owned and managed by DevOps Guru. */
    Type?: 'CUSTOMER_MANAGED_KEY' | 'AWS_OWNED_KMS_KEY';
}
export interface UpdateServiceIntegrationConfig {
    OpsCenter?: OpsCenterIntegrationConfig;
    /** Information about whether DevOps Guru is configured to perform log anomaly detection on Amazon CloudWatch log groups. */
    LogsAnomalyDetection?: LogsAnomalyDetectionIntegrationConfig;
    /** Information about whether DevOps Guru is configured to encrypt server-side data using KMS. */
    KMSServerSideEncryption?: KMSServerSideEncryptionIntegrationConfig;
}
export interface AddNotificationChannelInput {
    /** A NotificationChannelConfig object that specifies what type of notification channel to add. The one supported notification channel is Amazon Simple Notification Service (Amazon SNS). */
    Config: NotificationChannelConfig;
}
export interface DeleteInsightInput {
    /** The ID of the insight. */
    Id: string;
}
export interface DescribeAccountOverviewInput {
    /** The start of the time range passed in. The start time granularity is at the day level. The floor of the start time is used. Returned information occurred after this day. */
    FromTime: string;
    /** The end of the time range passed in. The start time granularity is at the day level. The floor of the start time is used. Returned information occurred before this day. If this is not specified, then  */
    ToTime?: string;
}
export interface DescribeAnomalyInput {
    /** The ID of the anomaly. */
    Id: string;
    /** The ID of the member account. */
    AccountId?: string;
}
export interface DescribeFeedbackInput {
    /** The ID of the insight for which the feedback was provided. */
    InsightId?: string;
}
export interface DescribeInsightInput {
    /** The ID of the insight. */
    Id: string;
    /** The ID of the member account in the organization. */
    AccountId?: string;
}
export interface DescribeOrganizationHealthInput {
    /** The ID of the Amazon Web Services account. */
    AccountIds?: string[];
    /** The ID of the organizational unit. */
    OrganizationalUnitIds?: string[];
}
export interface DescribeOrganizationOverviewInput {
    /** The start of the time range passed in. The start time granularity is at the day level. The floor of the start time is used. Returned information occurred after this day. */
    FromTime: string;
    /** The ID of the Amazon Web Services account. */
    AccountIds?: string[];
    /** The ID of the organizational unit. */
    OrganizationalUnitIds?: string[];
    /** The end of the time range passed in. The start time granularity is at the day level. The floor of the start time is used. Returned information occurred before this day. If this is not specified, then  */
    ToTime?: string;
}
export interface DescribeOrganizationResourceCollectionHealthInput {
    /** An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources are defined. The two types of Amazon Web Services resource collections supported are Ama */
    OrganizationResourceCollectionType: 'AWS_CLOUD_FORMATION' | 'AWS_SERVICE' | 'AWS_ACCOUNT' | 'AWS_TAGS';
    /** The ID of the Amazon Web Services account. */
    AccountIds?: string[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The ID of the organizational unit. */
    OrganizationalUnitIds?: string[];
}
export interface DescribeResourceCollectionHealthInput {
    /** An Amazon Web Services resource collection type. This type specifies how analyzed Amazon Web Services resources are defined. The two types of Amazon Web Services resource collections supported are Ama */
    ResourceCollectionType: 'AWS_CLOUD_FORMATION' | 'AWS_SERVICE' | 'AWS_TAGS';
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface GetCostEstimationInput {
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface GetResourceCollectionInput {
    /** The type of Amazon Web Services resource collections to return. The one valid value is CLOUD_FORMATION for Amazon Web Services CloudFormation stacks. */
    ResourceCollectionType: 'AWS_CLOUD_FORMATION' | 'AWS_SERVICE' | 'AWS_TAGS';
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListAnomaliesForInsightInput {
    /** The ID of the insight. The returned anomalies belong to this insight. */
    InsightId: string;
    /** The ID of the Amazon Web Services account. */
    AccountId?: string;
    /** Specifies one or more service names that are used to list anomalies. */
    Filters?: ListAnomaliesForInsightFilters;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** A time range used to specify when the requested anomalies started. All returned anomalies started during this time range. */
    StartTimeRange?: StartTimeRange;
}
export interface ListAnomalousLogGroupsInput {
    /** The ID of the insight containing the log groups. */
    InsightId: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListEventsInput {
    /** A ListEventsFilters object used to specify which events to return. */
    Filters: ListEventsFilters;
    /** The ID of the Amazon Web Services account. */
    AccountId?: string;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListInsightsInput {
    /** A filter used to filter the returned insights by their status. You can specify one status filter. */
    StatusFilter: ListInsightsStatusFilter;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListMonitoredResourcesInput {
    /** Filters to determine which monitored resources you want to retrieve. You can filter by resource type or resource permission status. */
    Filters?: ListMonitoredResourcesFilters;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListNotificationChannelsInput {
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface ListOrganizationInsightsInput {
    StatusFilter: ListInsightsStatusFilter;
    /** The ID of the Amazon Web Services account. */
    AccountIds?: string[];
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
    /** The ID of the organizational unit. */
    OrganizationalUnitIds?: string[];
}
export interface ListRecommendationsInput {
    /** The ID of the requested insight. */
    InsightId: string;
    /** The ID of the Amazon Web Services account. */
    AccountId?: string;
    /** A locale that specifies the language to use for recommendations. */
    Locale?: 'DE_DE' | 'EN_US' | 'EN_GB' | 'ES_ES' | 'FR_FR' | 'IT_IT' | 'JA_JP' | 'KO_KR' | 'PT_BR' | 'ZH_CN' | 'ZH_TW';
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface PutFeedbackInput {
    /** The feedback from customers is about the recommendations in this insight. */
    InsightFeedback?: InsightFeedback;
}
export interface RemoveNotificationChannelInput {
    /** The ID of the notification channel to be removed. */
    Id: string;
}
export interface SearchInsightsInput {
    /** The start of the time range passed in. Returned insights occurred after this time. */
    StartTimeRange: StartTimeRange;
    /** The type of insights you are searching for (REACTIVE or PROACTIVE). */
    Type: 'REACTIVE' | 'PROACTIVE';
    /** A SearchInsightsFilters object that is used to set the severity and status filters on your insight search. */
    Filters?: SearchInsightsFilters;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface SearchOrganizationInsightsInput {
    /** The ID of the Amazon Web Services account. */
    AccountIds: string[];
    StartTimeRange: StartTimeRange;
    /** The type of insights you are searching for (REACTIVE or PROACTIVE). */
    Type: 'REACTIVE' | 'PROACTIVE';
    /** A SearchOrganizationInsightsFilters object that is used to set the severity and status filters on your insight search. */
    Filters?: SearchOrganizationInsightsFilters;
    /** The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value. */
    MaxResults?: number;
    /** The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page. */
    NextToken?: string;
}
export interface StartCostEstimationInput {
    /** The collection of Amazon Web Services resources used to create a monthly DevOps Guru cost estimate. */
    ResourceCollection: CostEstimationResourceCollectionFilter;
    /** The idempotency token used to identify each cost estimate request. */
    ClientToken?: string;
}
export interface UpdateEventSourcesConfigInput {
    /** Configuration information about the integration of DevOps Guru as the Consumer via EventBridge with another AWS Service. */
    EventSources?: EventSourcesConfig;
}
export interface UpdateResourceCollectionInput {
    /** Specifies if the resource collection in the request is added or deleted to the resource collection. */
    Action: 'ADD' | 'REMOVE';
    ResourceCollection: UpdateResourceCollectionFilter;
}
export interface UpdateServiceIntegrationInput {
    /** An IntegratedServiceConfig object used to specify the integrated service you want to update, and whether you want to update it to enabled or disabled. */
    ServiceIntegration: UpdateServiceIntegrationConfig;
}
/** DevOps Guru service binding for Step Functions SDK integrations. */
export declare class DevOpsGuru {
    constructor();
    addNotificationChannel<T>(params: AddNotificationChannelInput): Promise<T>;
    deleteInsight<T>(params: DeleteInsightInput): Promise<T>;
    describeAccountHealth<T>(params: Record<string, any>): Promise<T>;
    describeAccountOverview<T>(params: DescribeAccountOverviewInput): Promise<T>;
    describeAnomaly<T>(params: DescribeAnomalyInput): Promise<T>;
    describeEventSourcesConfig<T>(params: Record<string, any>): Promise<T>;
    describeFeedback<T>(params: DescribeFeedbackInput): Promise<T>;
    describeInsight<T>(params: DescribeInsightInput): Promise<T>;
    describeOrganizationHealth<T>(params: DescribeOrganizationHealthInput): Promise<T>;
    describeOrganizationOverview<T>(params: DescribeOrganizationOverviewInput): Promise<T>;
    describeOrganizationResourceCollectionHealth<T>(params: DescribeOrganizationResourceCollectionHealthInput): Promise<T>;
    describeResourceCollectionHealth<T>(params: DescribeResourceCollectionHealthInput): Promise<T>;
    describeServiceIntegration<T>(params: Record<string, any>): Promise<T>;
    getCostEstimation<T>(params: GetCostEstimationInput): Promise<T>;
    getResourceCollection<T>(params: GetResourceCollectionInput): Promise<T>;
    listAnomaliesForInsight<T>(params: ListAnomaliesForInsightInput): Promise<T>;
    listAnomalousLogGroups<T>(params: ListAnomalousLogGroupsInput): Promise<T>;
    listEvents<T>(params: ListEventsInput): Promise<T>;
    listInsights<T>(params: ListInsightsInput): Promise<T>;
    listMonitoredResources<T>(params: ListMonitoredResourcesInput): Promise<T>;
    listNotificationChannels<T>(params: ListNotificationChannelsInput): Promise<T>;
    listOrganizationInsights<T>(params: ListOrganizationInsightsInput): Promise<T>;
    listRecommendations<T>(params: ListRecommendationsInput): Promise<T>;
    putFeedback<T>(params: PutFeedbackInput): Promise<T>;
    removeNotificationChannel<T>(params: RemoveNotificationChannelInput): Promise<T>;
    searchInsights<T>(params: SearchInsightsInput): Promise<T>;
    searchOrganizationInsights<T>(params: SearchOrganizationInsightsInput): Promise<T>;
    startCostEstimation<T>(params: StartCostEstimationInput): Promise<T>;
    updateEventSourcesConfig<T>(params: UpdateEventSourcesConfigInput): Promise<T>;
    updateResourceCollection<T>(params: UpdateResourceCollectionInput): Promise<T>;
    updateServiceIntegration<T>(params: UpdateServiceIntegrationInput): Promise<T>;
}
//# sourceMappingURL=DevOpsGuru.d.ts.map