export interface Attribute {
    /** The attribute key. */
    key: string;
    /** The value assigned to the attribute key. */
    value?: string;
}
export interface ResourceGroupTag {
    /** A tag key. */
    key: string;
    /** The value assigned to a tag key. */
    value?: string;
}
export interface AgentFilter {
    /** The current health state of the agent. Values can be set to HEALTHY or UNHEALTHY. */
    agentHealths: 'HEALTHY' | 'UNHEALTHY' | 'UNKNOWN'[];
    /** The detailed health state of the agent. Values can be set to IDLE, RUNNING, SHUTDOWN, UNHEALTHY, THROTTLED, and UNKNOWN. */
    agentHealthCodes: 'IDLE' | 'RUNNING' | 'SHUTDOWN' | 'UNHEALTHY' | 'THROTTLED' | 'UNKNOWN'[];
}
export interface DurationRange {
    /** The minimum value of the duration range. Must be greater than zero. */
    minSeconds?: number;
    /** The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week). */
    maxSeconds?: number;
}
export interface TimestampRange {
    /** The minimum value of the timestamp range. */
    beginDate?: string;
    /** The maximum value of the timestamp range. */
    endDate?: string;
}
export interface AssessmentRunFilter {
    /** For a record to match a filter, an explicit value or a string containing a wildcard that is specified for this data type property must match the value of the assessmentRunName property of the Assessme */
    namePattern?: string;
    /** For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the assessmentRunState property of the AssessmentRun data type. */
    states?: 'CREATED' | 'START_DATA_COLLECTION_PENDING' | 'START_DATA_COLLECTION_IN_PROGRESS' | 'COLLECTING_DATA' | 'STOP_DATA_COLLECTION_PENDING' | 'DATA_COLLECTED' | 'START_EVALUATING_RULES_PENDING' | 'EVALUATING_RULES' | 'FAILED' | 'ERROR' | 'COMPLETED' | 'COMPLETED_WITH_ERRORS' | 'CANCELED'[];
    /** For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the durationInSeconds prope */
    durationRange?: DurationRange;
    /** For a record to match a filter, the value that is specified for this data type property must be contained in the list of values of the rulesPackages property of the AssessmentRun data type. */
    rulesPackageArns?: string[];
    /** For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the startTime property of t */
    startTimeRange?: TimestampRange;
    /** For a record to match a filter, the value that is specified for this data type property must inclusively match any value between the specified minimum and maximum values of the completedAt property of */
    completionTimeRange?: TimestampRange;
    /** For a record to match a filter, the value that is specified for this data type property must match the stateChangedAt property of the AssessmentRun data type. */
    stateChangeTimeRange?: TimestampRange;
}
export interface AssessmentTargetFilter {
    /** For a record to match a filter, an explicit value or a string that contains a wildcard that is specified for this data type property must match the value of the assessmentTargetName property of the As */
    assessmentTargetNamePattern?: string;
}
export interface AssessmentTemplateFilter {
    /** For a record to match a filter, an explicit value or a string that contains a wildcard that is specified for this data type property must match the value of the assessmentTemplateName property of the  */
    namePattern?: string;
    /** For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the durationInSeconds property of t */
    durationRange?: DurationRange;
    /** For a record to match a filter, the values that are specified for this data type property must be contained in the list of values of the rulesPackageArns property of the AssessmentTemplate data type. */
    rulesPackageArns?: string[];
}
export interface FindingFilter {
    /** For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the agentId property of the Finding data type. */
    agentIds?: string[];
    /** For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the autoScalingGroup property of the Finding data type. */
    autoScalingGroups?: string[];
    /** For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the ruleName property of the Finding data type. */
    ruleNames?: string[];
    /** For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the severity property of the Finding data type. */
    severities?: 'Low' | 'Medium' | 'High' | 'Informational' | 'Undefined'[];
    /** For a record to match a filter, one of the values that is specified for this data type property must be the exact match of the value of the rulesPackageArn property of the Finding data type. */
    rulesPackageArns?: string[];
    /** For a record to match a filter, the list of values that are specified for this data type property must be contained in the list of values of the attributes property of the Finding data type. */
    attributes?: any[];
    /** For a record to match a filter, the value that is specified for this data type property must be contained in the list of values of the userAttributes property of the Finding data type. */
    userAttributes?: any[];
    /** The time range during which the finding is generated. */
    creationTimeRange?: TimestampRange;
}
export interface Tag {
    /** A tag key. */
    key: string;
    /** A value assigned to a tag key. */
    value?: string;
}
export interface AddAttributesToFindingsInput {
    /** The array of attributes that you want to assign to specified findings. */
    attributes: Attribute[];
    /** The ARNs that specify the findings that you want to assign attributes to. */
    findingArns: string[];
}
export interface CreateAssessmentTargetInput {
    /** The user-defined name that identifies the assessment target that you want to create. The name must be unique within the AWS account. */
    assessmentTargetName: string;
    /** The ARN that specifies the resource group that is used to create the assessment target. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in th */
    resourceGroupArn?: string;
}
export interface CreateAssessmentTemplateInput {
    /** The ARN that specifies the assessment target for which you want to create the assessment template. */
    assessmentTargetArn: string;
    /** The user-defined name that identifies the assessment template that you want to create. You can create several assessment templates for an assessment target. The names of the assessment templates that  */
    assessmentTemplateName: string;
    /** The duration of the assessment run in seconds. */
    durationInSeconds: number;
    /** The ARNs that specify the rules packages that you want to attach to the assessment template. */
    rulesPackageArns: string[];
    /** The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template. An attribute is a key and value pair (an Attribute object). W */
    userAttributesForFindings?: Attribute[];
}
export interface CreateExclusionsPreviewInput {
    /** The ARN that specifies the assessment template for which you want to create an exclusions preview. */
    assessmentTemplateArn: string;
}
export interface CreateResourceGroupInput {
    /** A collection of keys and an array of possible values, '[{"key":"key1","values":["Value1","Value2"]},{"key":"Key2","values":["Value3"]}]'. For example,'[{"key":"Name","values":["TestEC2Instance"]}]'. */
    resourceGroupTags: ResourceGroupTag[];
}
export interface DeleteAssessmentRunInput {
    /** The ARN that specifies the assessment run that you want to delete. */
    assessmentRunArn: string;
}
export interface DeleteAssessmentTargetInput {
    /** The ARN that specifies the assessment target that you want to delete. */
    assessmentTargetArn: string;
}
export interface DeleteAssessmentTemplateInput {
    /** The ARN that specifies the assessment template that you want to delete. */
    assessmentTemplateArn: string;
}
export interface DescribeAssessmentRunsInput {
    /** The ARN that specifies the assessment run that you want to describe. */
    assessmentRunArns: string[];
}
export interface DescribeAssessmentTargetsInput {
    /** The ARNs that specifies the assessment targets that you want to describe. */
    assessmentTargetArns: string[];
}
export interface DescribeAssessmentTemplatesInput {
    assessmentTemplateArns: string[];
}
export interface DescribeExclusionsInput {
    /** The list of ARNs that specify the exclusions that you want to describe. */
    exclusionArns: string[];
    /** The locale into which you want to translate the exclusion's title, description, and recommendation. */
    locale?: 'EN_US';
}
export interface DescribeFindingsInput {
    /** The ARN that specifies the finding that you want to describe. */
    findingArns: string[];
    /** The locale into which you want to translate a finding description, recommendation, and the short description that identifies the finding. */
    locale?: 'EN_US';
}
export interface DescribeResourceGroupsInput {
    /** The ARN that specifies the resource group that you want to describe. */
    resourceGroupArns: string[];
}
export interface DescribeRulesPackagesInput {
    /** The ARN that specifies the rules package that you want to describe. */
    rulesPackageArns: string[];
    /** The locale that you want to translate a rules package description into. */
    locale?: 'EN_US';
}
export interface GetAssessmentReportInput {
    /** The ARN that specifies the assessment run for which you want to generate a report. */
    assessmentRunArn: string;
    /** Specifies the file format (html or pdf) of the assessment report that you want to generate. */
    reportFileFormat: 'HTML' | 'PDF';
    /** Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports. */
    reportType: 'FINDING' | 'FULL';
}
export interface GetExclusionsPreviewInput {
    /** The ARN that specifies the assessment template for which the exclusions preview was requested. */
    assessmentTemplateArn: string;
    /** The unique identifier associated of the exclusions preview. */
    previewToken: string;
    /** The locale into which you want to translate the exclusion's title, description, and recommendation. */
    locale?: 'EN_US';
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the GetExclusionsPreviewRequest action. Subsequent calls to the action fill nextToken  */
    nextToken?: string;
}
export interface GetTelemetryMetadataInput {
    /** The ARN that specifies the assessment run that has the telemetry data that you want to obtain. */
    assessmentRunArn: string;
}
export interface ListAssessmentRunAgentsInput {
    /** The ARN that specifies the assessment run whose agents you want to list. */
    assessmentRunArn: string;
    /** You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are spe */
    filter?: AgentFilter;
    /** You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRunAgents action. Subsequent calls to the action fill nextToken in t */
    nextToken?: string;
}
export interface ListAssessmentRunsInput {
    /** The ARNs that specify the assessment templates whose assessment runs you want to list. */
    assessmentTemplateArns?: string[];
    /** You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are spe */
    filter?: AssessmentRunFilter;
    /** You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentRuns action. Subsequent calls to the action fill nextToken in the re */
    nextToken?: string;
}
export interface ListAssessmentTargetsInput {
    /** You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are spe */
    filter?: AssessmentTargetFilter;
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTargets action. Subsequent calls to the action fill nextToken in the */
    nextToken?: string;
}
export interface ListAssessmentTemplatesInput {
    /** A list of ARNs that specifies the assessment targets whose assessment templates you want to list. */
    assessmentTargetArns?: string[];
    /** You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are spe */
    filter?: AssessmentTemplateFilter;
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListAssessmentTemplates action. Subsequent calls to the action fill nextToken in t */
    nextToken?: string;
}
export interface ListEventSubscriptionsInput {
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListEventSubscriptions action. Subsequent calls to the action fill nextToken in th */
    nextToken?: string;
    /** The ARN of the assessment template for which you want to list the existing event subscriptions. */
    resourceArn?: string;
}
export interface ListExclusionsInput {
    /** The ARN of the assessment run that generated the exclusions that you want to list. */
    assessmentRunArn: string;
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListExclusionsRequest action. Subsequent calls to the action fill nextToken in the */
    nextToken?: string;
}
export interface ListFindingsInput {
    /** The ARNs of the assessment runs that generate the findings that you want to list. */
    assessmentRunArns?: string[];
    /** You can use this parameter to specify a subset of data to be included in the action's response. For a record to match a filter, all specified filter attributes must match. When multiple values are spe */
    filter?: FindingFilter;
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListFindings action. Subsequent calls to the action fill nextToken in the request  */
    nextToken?: string;
}
export interface ListRulesPackagesInput {
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListRulesPackages action. Subsequent calls to the action fill nextToken in the req */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The ARN that specifies the assessment template whose tags you want to list. */
    resourceArn: string;
}
export interface PreviewAgentsInput {
    /** The ARN of the assessment target whose agents you want to preview. */
    previewAgentsArn: string;
    /** You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500. */
    maxResults?: number;
    /** You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the PreviewAgents action. Subsequent calls to the action fill nextToken in the request */
    nextToken?: string;
}
export interface RegisterCrossAccountAccessRoleInput {
    /** The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments. */
    roleArn: string;
}
export interface RemoveAttributesFromFindingsInput {
    /** The array of attribute keys that you want to remove from specified findings. */
    attributeKeys: string[];
    /** The ARNs that specify the findings that you want to remove attributes from. */
    findingArns: string[];
}
export interface SetTagsForResourceInput {
    /** The ARN of the assessment template that you want to set tags to. */
    resourceArn: string;
    /** A collection of key and value pairs that you want to set to the assessment template. */
    tags?: Tag[];
}
export interface StartAssessmentRunInput {
    /** The ARN of the assessment template of the assessment run that you want to start. */
    assessmentTemplateArn: string;
    /** You can specify the name for the assessment run. The name must be unique for the assessment template whose ARN is used to start the assessment run. */
    assessmentRunName?: string;
}
export interface StopAssessmentRunInput {
    /** The ARN of the assessment run that you want to stop. */
    assessmentRunArn: string;
    /** An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value), stops the AWS agent from collecting data and begins the results evaluation and the  */
    stopAction?: 'START_EVALUATION' | 'SKIP_EVALUATION';
}
export interface SubscribeToEventInput {
    /** The event for which you want to receive SNS notifications. */
    event: 'ASSESSMENT_RUN_STARTED' | 'ASSESSMENT_RUN_COMPLETED' | 'ASSESSMENT_RUN_STATE_CHANGED' | 'FINDING_REPORTED' | 'OTHER';
    /** The ARN of the assessment template that is used during the event for which you want to receive SNS notifications. */
    resourceArn: string;
    /** The ARN of the SNS topic to which the SNS notifications are sent. */
    topicArn: string;
}
export interface UnsubscribeFromEventInput {
    /** The event for which you want to stop receiving SNS notifications. */
    event: 'ASSESSMENT_RUN_STARTED' | 'ASSESSMENT_RUN_COMPLETED' | 'ASSESSMENT_RUN_STATE_CHANGED' | 'FINDING_REPORTED' | 'OTHER';
    /** The ARN of the assessment template that is used during the event for which you want to stop receiving SNS notifications. */
    resourceArn: string;
    /** The ARN of the SNS topic to which SNS notifications are sent. */
    topicArn: string;
}
export interface UpdateAssessmentTargetInput {
    /** The ARN of the assessment target that you want to update. */
    assessmentTargetArn: string;
    /** The name of the assessment target that you want to update. */
    assessmentTargetName: string;
    /** The ARN of the resource group that is used to specify the new resource group to associate with the assessment target. */
    resourceGroupArn?: string;
}
/** Inspector service binding for Step Functions SDK integrations. */
export declare class Inspector {
    constructor();
    addAttributesToFindings<T>(params: AddAttributesToFindingsInput): Promise<T>;
    createAssessmentTarget<T>(params: CreateAssessmentTargetInput): Promise<T>;
    createAssessmentTemplate<T>(params: CreateAssessmentTemplateInput): Promise<T>;
    createExclusionsPreview<T>(params: CreateExclusionsPreviewInput): Promise<T>;
    createResourceGroup<T>(params: CreateResourceGroupInput): Promise<T>;
    deleteAssessmentRun<T>(params: DeleteAssessmentRunInput): Promise<T>;
    deleteAssessmentTarget<T>(params: DeleteAssessmentTargetInput): Promise<T>;
    deleteAssessmentTemplate<T>(params: DeleteAssessmentTemplateInput): Promise<T>;
    describeAssessmentRuns<T>(params: DescribeAssessmentRunsInput): Promise<T>;
    describeAssessmentTargets<T>(params: DescribeAssessmentTargetsInput): Promise<T>;
    describeAssessmentTemplates<T>(params: DescribeAssessmentTemplatesInput): Promise<T>;
    describeCrossAccountAccessRole<T>(): Promise<T>;
    describeExclusions<T>(params: DescribeExclusionsInput): Promise<T>;
    describeFindings<T>(params: DescribeFindingsInput): Promise<T>;
    describeResourceGroups<T>(params: DescribeResourceGroupsInput): Promise<T>;
    describeRulesPackages<T>(params: DescribeRulesPackagesInput): Promise<T>;
    getAssessmentReport<T>(params: GetAssessmentReportInput): Promise<T>;
    getExclusionsPreview<T>(params: GetExclusionsPreviewInput): Promise<T>;
    getTelemetryMetadata<T>(params: GetTelemetryMetadataInput): Promise<T>;
    listAssessmentRunAgents<T>(params: ListAssessmentRunAgentsInput): Promise<T>;
    listAssessmentRuns<T>(params: ListAssessmentRunsInput): Promise<T>;
    listAssessmentTargets<T>(params: ListAssessmentTargetsInput): Promise<T>;
    listAssessmentTemplates<T>(params: ListAssessmentTemplatesInput): Promise<T>;
    listEventSubscriptions<T>(params: ListEventSubscriptionsInput): Promise<T>;
    listExclusions<T>(params: ListExclusionsInput): Promise<T>;
    listFindings<T>(params: ListFindingsInput): Promise<T>;
    listRulesPackages<T>(params: ListRulesPackagesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    previewAgents<T>(params: PreviewAgentsInput): Promise<T>;
    registerCrossAccountAccessRole<T>(params: RegisterCrossAccountAccessRoleInput): Promise<T>;
    removeAttributesFromFindings<T>(params: RemoveAttributesFromFindingsInput): Promise<T>;
    setTagsForResource<T>(params: SetTagsForResourceInput): Promise<T>;
    startAssessmentRun<T>(params: StartAssessmentRunInput): Promise<T>;
    stopAssessmentRun<T>(params: StopAssessmentRunInput): Promise<T>;
    subscribeToEvent<T>(params: SubscribeToEventInput): Promise<T>;
    unsubscribeFromEvent<T>(params: UnsubscribeFromEventInput): Promise<T>;
    updateAssessmentTarget<T>(params: UpdateAssessmentTargetInput): Promise<T>;
}
//# sourceMappingURL=Inspector.d.ts.map