export interface EncryptionConfiguration {
    /** Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned key. */
    type?: 'AWS_OWNED_KEY' | 'CUSTOMER_MANAGED_KMS_KEY';
    /** If the investigation group uses a customer managed key for encryption, this field displays the ID of that key. */
    kmsKeyId?: string;
}
export interface CrossAccountConfiguration {
    /** The ARN of an existing role which will be used to do investigations on your behalf. */
    sourceRoleArn?: string;
}
export interface CreateInvestigationGroupInput {
    /** Provides a name for the investigation group. */
    name: string;
    /** Specify the ARN of the IAM role that CloudWatch investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that CloudWatch investigation */
    roleArn: string;
    /** Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strin */
    chatbotNotificationChannel?: Record<string, string[]>;
    /** List of sourceRoleArn values that have been configured for cross-account access. */
    crossAccountConfigurations?: CrossAccountConfiguration[];
    /** Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encryp */
    encryptionConfiguration?: EncryptionConfiguration;
    /** Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is true. */
    isCloudTrailEventHistoryEnabled?: boolean;
    /** Specify how long that investigation data is kept. For more information, see Operational investigation data retention. If you omit this parameter, the default of 90 days is used. */
    retentionInDays?: number;
    /** Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships bet */
    tagKeyBoundaries?: string[];
    /** A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation gr */
    tags?: Record<string, string>;
}
export interface DeleteInvestigationGroupInput {
    /** Specify either the name or the ARN of the investigation group that you want to delete. */
    identifier: string;
}
export interface DeleteInvestigationGroupPolicyInput {
    /** Specify either the name or the ARN of the investigation group that you want to remove the policy from. */
    identifier: string;
}
export interface GetInvestigationGroupInput {
    /** Specify either the name or the ARN of the investigation group that you want to view. This is used to set the name of the investigation group. */
    identifier: string;
}
export interface GetInvestigationGroupPolicyInput {
    /** Specify either the name or the ARN of the investigation group that you want to view the policy of. */
    identifier: string;
}
export interface ListInvestigationGroupsInput {
    /** The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used. */
    maxResults?: number;
    /** Include this value, if it was returned by the previous operation, to get the next set of service operations. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN of the CloudWatch investigations resource that you want to view tags for. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups. The ARN format for an inve */
    resourceArn: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the ListInvestigationGroups operation to find the ARNs of investigation groups. */
    resourceArn: string;
    /** The list of key-value pairs to associate with the resource. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use theListInvestigationGroups operation to find the ARNs of investigation groups. */
    resourceArn: string;
    /** The list of tag keys to remove from the resource. */
    tagKeys: string[];
}
export interface UpdateInvestigationGroupInput {
    /** Specify either the name or the ARN of the investigation group that you want to modify. */
    identifier: string;
    /** Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strin */
    chatbotNotificationChannel?: Record<string, string[]>;
    /** Used to configure cross-account access for an investigation group. It allows the investigation group to access resources in other accounts. */
    crossAccountConfigurations?: CrossAccountConfiguration[];
    /** Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encryp */
    encryptionConfiguration?: EncryptionConfiguration;
    /** Specify true to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is true. */
    isCloudTrailEventHistoryEnabled?: boolean;
    /** Specify this field if you want to change the IAM role that CloudWatch investigations will use when it gathers investigation data. To do so, specify the ARN of the new role. The permissions in this rol */
    roleArn?: string;
    /** Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships bet */
    tagKeyBoundaries?: string[];
}
/** AIOps service binding for Step Functions SDK integrations. */
export declare class AIOps {
    constructor();
    createInvestigationGroup<T>(params: CreateInvestigationGroupInput): Promise<T>;
    deleteInvestigationGroup<T>(params: DeleteInvestigationGroupInput): Promise<T>;
    deleteInvestigationGroupPolicy<T>(params: DeleteInvestigationGroupPolicyInput): Promise<T>;
    getInvestigationGroup<T>(params: GetInvestigationGroupInput): Promise<T>;
    getInvestigationGroupPolicy<T>(params: GetInvestigationGroupPolicyInput): Promise<T>;
    listInvestigationGroups<T>(params: ListInvestigationGroupsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateInvestigationGroup<T>(params: UpdateInvestigationGroupInput): Promise<T>;
}
//# sourceMappingURL=AIOps.d.ts.map