export interface AutomatedDiscoveryAccountUpdate {
    /** The Amazon Web Services account ID for the account. */
    accountId?: string;
    /** The new status of automated sensitive data discovery for the account. Valid values are: ENABLED, perform automated sensitive data discovery activities for the account; and, DISABLED, don't perform aut */
    status?: 'ENABLED' | 'DISABLED';
}
export interface S3WordsList {
    /** The full name of the S3 bucket that contains the object. */
    bucketName: string;
    /** The full name (key) of the object. */
    objectKey: string;
}
export interface AllowListCriteria {
    /** The regular expression (regex) that defines the text pattern to ignore. The expression can contain as many as 512 characters. */
    regex?: string;
    /** The location and name of the S3 object that lists specific text to ignore. */
    s3WordsList?: S3WordsList;
}
export interface S3BucketCriteriaForJob {
    /** The property- and tag-based conditions that determine which buckets to exclude from the job. */
    excludes?: any;
    /** The property- and tag-based conditions that determine which buckets to include in the job. */
    includes?: any;
}
export interface Scoping {
    /** The property- and tag-based conditions that determine which objects to exclude from the analysis. */
    excludes?: any;
    /** The property- and tag-based conditions that determine which objects to include in the analysis. */
    includes?: any;
}
export interface S3JobDefinition {
    /** The property- and tag-based conditions that determine which S3 buckets to include or exclude from the analysis. Each time the job runs, the job uses these criteria to determine which buckets contain o */
    bucketCriteria?: S3BucketCriteriaForJob;
    /** An array of objects, one for each Amazon Web Services account that owns specific S3 buckets to analyze. Each object specifies the account ID for an account and one or more buckets to analyze for that  */
    bucketDefinitions?: any[];
    /** The property- and tag-based conditions that determine which S3 objects to include or exclude from the analysis. Each time the job runs, the job uses these criteria to determine which objects to analyz */
    scoping?: Scoping;
}
export interface MonthlySchedule {
    /** The numeric day of the month when Amazon Macie runs the job. This value can be an integer from 1 through 31. If this value exceeds the number of days in a certain month, Macie doesn't run the job that */
    dayOfMonth?: number;
}
export interface WeeklySchedule {
    /** The day of the week when Amazon Macie runs the job. */
    dayOfWeek?: 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY';
}
export interface JobScheduleFrequency {
    /** Specifies a daily recurrence pattern for running the job. */
    dailySchedule?: Record<string, any>;
    /** Specifies a monthly recurrence pattern for running the job. */
    monthlySchedule?: MonthlySchedule;
    /** Specifies a weekly recurrence pattern for running the job. */
    weeklySchedule?: WeeklySchedule;
}
export interface SeverityLevel {
    /** The minimum number of occurrences of text that must match the custom data identifier's detection criteria in order to produce a finding with the specified severity (severity). */
    occurrencesThreshold: number;
    /** The severity to assign to a finding: if the number of occurrences is greater than or equal to the specified threshold (occurrencesThreshold); and, if applicable, the number of occurrences is less than */
    severity: 'LOW' | 'MEDIUM' | 'HIGH';
}
export interface FindingCriteria {
    /** A condition that specifies the property, operator, and one or more values to use to filter the results. */
    criterion?: Record<string, any>;
}
export interface AccountDetail {
    /** The Amazon Web Services account ID for the account. */
    accountId: string;
    /** The email address for the account. */
    email: string;
}
export interface BucketCriteriaAdditionalProperties {
    /** The value for the property matches (equals) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values. */
    eq?: any[];
    /** The value for the property is greater than the specified value. */
    gt?: number;
    /** The value for the property is greater than or equal to the specified value. */
    gte?: number;
    /** The value for the property is less than the specified value. */
    lt?: number;
    /** The value for the property is less than or equal to the specified value. */
    lte?: number;
    /** The value for the property doesn't match (doesn't equal) the specified value. If you specify multiple values, Amazon Macie uses OR logic to join the values. */
    neq?: any[];
    /** The name of the bucket begins with the specified value. */
    prefix?: string;
}
export interface BucketSortCriteria {
    /** The name of the bucket property to sort the results by. This value can be one of the following properties that Amazon Macie defines as bucket metadata: accountId, bucketName, classifiableObjectCount,  */
    attributeName?: string;
    /** The sort order to apply to the results, based on the value specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descendin */
    orderBy?: 'ASC' | 'DESC';
}
export interface SortCriteria {
    /** The name of the property to sort the results by. Valid values are: count, createdAt, policyDetails.action.apiCallDetails.firstSeen, policyDetails.action.apiCallDetails.lastSeen, resourcesAffected, sev */
    attributeName?: string;
    /** The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the res */
    orderBy?: 'ASC' | 'DESC';
}
export interface FindingStatisticsSortCriteria {
    /** The grouping to sort the results by. Valid values are: count, sort the results by the number of findings in each group of results; and, groupKey, sort the results by the name of each group of results. */
    attributeName?: 'groupKey' | 'count';
    /** The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the res */
    orderBy?: 'ASC' | 'DESC';
}
export interface UsageStatisticsFilter {
    /** The operator to use in the condition. If the value for the key property is accountId, this value must be CONTAINS. If the value for the key property is any other supported field, this value can be EQ, */
    comparator?: 'GT' | 'GTE' | 'LT' | 'LTE' | 'EQ' | 'NE' | 'CONTAINS';
    /** The field to use in the condition. */
    key?: 'accountId' | 'serviceLimit' | 'freeTrialStartDate' | 'total';
    /** An array that lists values to use in the condition, based on the value for the field specified by the key property. If the value for the key property is accountId, this array can specify multiple valu */
    values?: any[];
}
export interface UsageStatisticsSortBy {
    /** The field to sort the results by. */
    key?: 'accountId' | 'total' | 'serviceLimitValue' | 'freeTrialStartDate';
    /** The sort order to apply to the results, based on the value for the field specified by the key property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in desce */
    orderBy?: 'ASC' | 'DESC';
}
export interface ListJobsFilterCriteria {
    /** An array of objects, one for each condition that determines which jobs to exclude from the results. */
    excludes?: any[];
    /** An array of objects, one for each condition that determines which jobs to include in the results. */
    includes?: any[];
}
export interface ListJobsSortCriteria {
    /** The property to sort the results by. */
    attributeName?: 'createdAt' | 'jobStatus' | 'name' | 'jobType';
    /** The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the res */
    orderBy?: 'ASC' | 'DESC';
}
export interface S3Destination {
    /** The name of the bucket. This must be the name of an existing general purpose bucket. */
    bucketName: string;
    /** The path prefix to use in the path to the location in the bucket. This prefix specifies where to store classification results in the bucket. */
    keyPrefix?: string;
    /** The Amazon Resource Name (ARN) of the customer managed KMS key to use for encryption of the results. This must be the ARN of an existing, symmetric encryption KMS key that's enabled in the same Amazon */
    kmsKeyArn: string;
}
export interface ClassificationExportConfiguration {
    /** The S3 bucket to store data classification results in, and the encryption settings to use when storing results in that bucket. */
    s3Destination?: S3Destination;
}
export interface SecurityHubConfiguration {
    /** Specifies whether to publish sensitive data findings to Security Hub. If you set this value to true, Amazon Macie automatically publishes all sensitive data findings that weren't suppressed by a findi */
    publishClassificationFindings: boolean;
    /** Specifies whether to publish policy findings to Security Hub. If you set this value to true, Amazon Macie automatically publishes all new and updated policy findings that weren't suppressed by a findi */
    publishPolicyFindings: boolean;
}
export interface SearchResourcesCriteriaBlock {
    /** An array of objects, one for each property- or tag-based condition that includes or excludes resources from the query results. If you specify more than one condition, Amazon Macie uses AND logic to jo */
    and?: any[];
}
export interface SearchResourcesBucketCriteria {
    /** The property- and tag-based conditions that determine which buckets to exclude from the results. */
    excludes?: SearchResourcesCriteriaBlock;
    /** The property- and tag-based conditions that determine which buckets to include in the results. */
    includes?: SearchResourcesCriteriaBlock;
}
export interface SearchResourcesSortCriteria {
    /** The property to sort the results by. */
    attributeName?: 'ACCOUNT_ID' | 'RESOURCE_NAME' | 'S3_CLASSIFIABLE_OBJECT_COUNT' | 'S3_CLASSIFIABLE_SIZE_IN_BYTES';
    /** The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the res */
    orderBy?: 'ASC' | 'DESC';
}
export interface S3ClassificationScopeExclusionUpdate {
    /** Depending on the value specified for the update operation (ClassificationScopeUpdateOperation), an array of strings that: lists the names of buckets to add or remove from the list, or specifies a new  */
    bucketNames: any[];
    /** Specifies how to apply the changes to the exclusion list. Valid values are: ADD - Append the specified bucket names to the current list. REMOVE - Remove the specified bucket names from the current lis */
    operation: 'ADD' | 'REPLACE' | 'REMOVE';
}
export interface S3ClassificationScopeUpdate {
    /** The names of the S3 buckets to add or remove from the list. */
    excludes: S3ClassificationScopeExclusionUpdate;
}
export interface SuppressDataIdentifier {
    /** The unique identifier for the custom data identifier or managed data identifier that detected the type of sensitive data to exclude from the score. */
    id?: string;
    /** The type of data identifier that detected the sensitive data. Possible values are: CUSTOM, for a custom data identifier; and, MANAGED, for a managed data identifier. */
    type?: 'CUSTOM' | 'MANAGED';
}
export interface RevealConfiguration {
    /** The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to encrypt sensitive data that's retrieved. The key must be an existing, customer managed, symmetric encryption key that's enabled in */
    kmsKeyId?: string;
    /** The status of the configuration for the Amazon Macie account. In a response, possible values are: ENABLED, the configuration is currently enabled for the account; and, DISABLED, the configuration is c */
    status: 'ENABLED' | 'DISABLED';
}
export interface UpdateRetrievalConfiguration {
    /** The access method to use when retrieving sensitive data from affected S3 objects. Valid values are: ASSUME_ROLE, assume an IAM role that is in the affected Amazon Web Services account and delegates ac */
    retrievalMode: 'CALLER_CREDENTIALS' | 'ASSUME_ROLE';
    /** The name of the IAM role that is in the affected Amazon Web Services account and Amazon Macie is allowed to assume when retrieving sensitive data from affected S3 objects for the account. The trust an */
    roleName?: string;
}
export interface SensitivityInspectionTemplateExcludes {
    /** An array of unique identifiers, one for each managed data identifier to exclude. To retrieve a list of valid values, use the ListManagedDataIdentifiers operation. */
    managedDataIdentifierIds?: string[];
}
export interface SensitivityInspectionTemplateIncludes {
    /** An array of unique identifiers, one for each allow list to include. */
    allowListIds?: string[];
    /** An array of unique identifiers, one for each custom data identifier to include. */
    customDataIdentifierIds?: string[];
    /** An array of unique identifiers, one for each managed data identifier to include. Amazon Macie uses these managed data identifiers in addition to managed data identifiers that are subsequently released */
    managedDataIdentifierIds?: string[];
}
export interface AcceptInvitationInput {
    /** The unique identifier for the invitation to accept. */
    invitationId: string;
    /** The Amazon Web Services account ID for the account that sent the invitation. */
    administratorAccountId?: string;
    /** (Deprecated) The Amazon Web Services account ID for the account that sent the invitation. This property has been replaced by the administratorAccountId property and is retained only for backward compa */
    masterAccount?: string;
}
export interface BatchGetCustomDataIdentifiersInput {
    /** An array of custom data identifier IDs, one for each custom data identifier to retrieve information about. */
    ids?: string[];
}
export interface BatchUpdateAutomatedDiscoveryAccountsInput {
    /** An array of objects, one for each account to change the status of automated sensitive data discovery for. Each object specifies the Amazon Web Services account ID for an account and a new status for t */
    accounts?: AutomatedDiscoveryAccountUpdate[];
}
export interface CreateAllowListInput {
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken: string;
    /** The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an S3 object that lists specific text to ignore (s3WordsList), or a regular expression (regex */
    criteria: AllowListCriteria;
    /** A custom name for the allow list. The name can contain as many as 128 characters. */
    name: string;
    /** A custom description of the allow list. The description can contain as many as 512 characters. */
    description?: string;
    /** A map of key-value pairs that specifies the tags to associate with the allow list. An allow list can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum  */
    tags?: Record<string, string>;
}
export interface CreateClassificationJobInput {
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken: string;
    /** The schedule for running the job. Valid values are: ONE_TIME - Run the job only once. If you specify this value, don't specify a value for the scheduleFrequency property. SCHEDULED - Run the job on a  */
    jobType: 'ONE_TIME' | 'SCHEDULED';
    /** A custom name for the job. The name can contain as many as 500 characters. */
    name: string;
    /** The S3 buckets that contain the objects to analyze, and the scope of that analysis. */
    s3JobDefinition: S3JobDefinition;
    /** An array of unique identifiers, one for each allow list for the job to use when it analyzes data. */
    allowListIds?: string[];
    /** An array of unique identifiers, one for each custom data identifier for the job to use when it analyzes data. To use only managed data identifiers, don't specify a value for this property and specify  */
    customDataIdentifierIds?: string[];
    /** A custom description of the job. The description can contain as many as 200 characters. */
    description?: string;
    /** For a recurring job, specifies whether to analyze all existing, eligible objects immediately after the job is created (true). To analyze only those objects that are created or changed after you create */
    initialRun?: boolean;
    /** An array of unique identifiers, one for each managed data identifier for the job to include (use) or exclude (not use) when it analyzes data. Inclusion or exclusion depends on the managed data identif */
    managedDataIdentifierIds?: string[];
    /** The selection type to apply when determining which managed data identifiers the job uses to analyze data. Valid values are: ALL - Use all managed data identifiers. If you specify this value, don't spe */
    managedDataIdentifierSelector?: 'ALL' | 'EXCLUDE' | 'INCLUDE' | 'NONE' | 'RECOMMENDED';
    /** The sampling depth, as a percentage, for the job to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazo */
    samplingPercentage?: number;
    /** The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the jobType property to ONE_TIME. */
    scheduleFrequency?: JobScheduleFrequency;
    /** A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag */
    tags?: Record<string, string>;
}
export interface CreateCustomDataIdentifierInput {
    /** A custom name for the custom data identifier. The name can contain as many as 128 characters. We strongly recommend that you avoid including any sensitive data in the name of a custom data identifier. */
    name: string;
    /** The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters. */
    regex: string;
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** A custom description of the custom data identifier. The description can contain as many as 512 characters. We strongly recommend that you avoid including any sensitive data in the description of a cus */
    description?: string;
    /** An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression contains any string in this array, Amazon Macie ignores it. T */
    ignoreWords?: string[];
    /** An array that lists specific character sequences (keywords), one of which must precede and be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many  */
    keywords?: string[];
    /** The maximum number of characters that can exist between the end of at least one complete character sequence specified by the keywords array and the end of the text that matches the regex pattern. If a */
    maximumMatchDistance?: number;
    /** The severity to assign to findings that the custom data identifier produces, based on the number of occurrences of text that match the custom data identifier's detection criteria. You can specify as m */
    severityLevels?: SeverityLevel[];
    /** A map of key-value pairs that specifies the tags to associate with the custom data identifier. A custom data identifier can have a maximum of 50 tags. Each tag consists of a tag key and an associated  */
    tags?: Record<string, string>;
}
export interface CreateFindingsFilterInput {
    /** The action to perform on findings that match the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the */
    action: 'ARCHIVE' | 'NOOP';
    /** The criteria to use to filter findings. */
    findingCriteria: FindingCriteria;
    /** A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters. We strongly recommend that you avoid including any sensitive data in the name of a f */
    name: string;
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** A custom description of the filter. The description can contain as many as 512 characters. We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users */
    description?: string;
    /** The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are */
    position?: number;
    /** A map of key-value pairs that specifies the tags to associate with the filter. A findings filter can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum  */
    tags?: Record<string, string>;
}
export interface CreateInvitationsInput {
    /** An array that lists Amazon Web Services account IDs, one for each account to send the invitation to. */
    accountIds: string[];
    /** Specifies whether to send the invitation as an email message. If this value is false, Amazon Macie sends the invitation (as an email message) to the email address that you specified for the recipient' */
    disableEmailNotification?: boolean;
    /** Custom text to include in the email message that contains the invitation. The text can contain as many as 80 alphanumeric characters. */
    message?: string;
}
export interface CreateMemberInput {
    /** The details of the account to associate with the administrator account. */
    account: AccountDetail;
    /** A map of key-value pairs that specifies the tags to associate with the account in Amazon Macie. An account can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. Th */
    tags?: Record<string, string>;
}
export interface CreateSampleFindingsInput {
    /** An array of finding types, one for each type of sample finding to create. To create a sample of every type of finding that Amazon Macie supports, don't include this array in your request. */
    findingTypes?: 'SensitiveData:S3Object/Multiple' | 'SensitiveData:S3Object/Financial' | 'SensitiveData:S3Object/Personal' | 'SensitiveData:S3Object/Credentials' | 'SensitiveData:S3Object/CustomIdentifier' | 'Policy:IAMUser/S3BucketPublic' | 'Policy:IAMUser/S3BucketSharedExternally' | 'Policy:IAMUser/S3BucketReplicatedExternally' | 'Policy:IAMUser/S3BucketEncryptionDisabled' | 'Policy:IAMUser/S3BlockPublicAccessDisabled' | 'Policy:IAMUser/S3BucketSharedWithCloudFront'[];
}
export interface DeclineInvitationsInput {
    /** An array that lists Amazon Web Services account IDs, one for each account that sent an invitation to decline. */
    accountIds: string[];
}
export interface DeleteAllowListInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** Specifies whether to force deletion of the allow list, even if active classification jobs are configured to use the list. When you try to delete an allow list, Amazon Macie checks for classification j */
    ignoreJobChecks?: string;
}
export interface DeleteCustomDataIdentifierInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface DeleteFindingsFilterInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface DeleteInvitationsInput {
    /** An array that lists Amazon Web Services account IDs, one for each account that sent an invitation to delete. */
    accountIds: string[];
}
export interface DeleteMemberInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface DescribeBucketsInput {
    /** The criteria to use to filter the query results. */
    criteria?: Record<string, BucketCriteriaAdditionalProperties>;
    /** The maximum number of items to include in each page of the response. The default value is 50. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** The criteria to use to sort the query results. */
    sortCriteria?: BucketSortCriteria;
}
export interface DescribeClassificationJobInput {
    /** The unique identifier for the classification job. */
    jobId: string;
}
export interface DisableOrganizationAdminAccountInput {
    /** The Amazon Web Services account ID of the delegated Amazon Macie administrator account. */
    adminAccountId: string;
}
export interface DisassociateMemberInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface EnableMacieInput {
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** Specifies how often to publish updates to policy findings for the account. This includes publishing updates to Security Hub and Amazon EventBridge (formerly Amazon CloudWatch Events). */
    findingPublishingFrequency?: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'SIX_HOURS';
    /** Specifies the new status for the account. To enable Amazon Macie and start all Macie activities for the account, set this value to ENABLED. */
    status?: 'PAUSED' | 'ENABLED';
}
export interface EnableOrganizationAdminAccountInput {
    /** The Amazon Web Services account ID for the account to designate as the delegated Amazon Macie administrator account for the organization. */
    adminAccountId: string;
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
}
export interface GetAllowListInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetBucketStatisticsInput {
    /** The unique identifier for the Amazon Web Services account. */
    accountId?: string;
}
export interface GetClassificationScopeInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetCustomDataIdentifierInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetFindingsInput {
    /** An array of strings that lists the unique identifiers for the findings to retrieve. You can specify as many as 50 unique identifiers in this array. */
    findingIds: string[];
    /** The criteria for sorting the results of the request. */
    sortCriteria?: SortCriteria;
}
export interface GetFindingsFilterInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetFindingStatisticsInput {
    /** The finding property to use to group the query results. Valid values are: classificationDetails.jobId - The unique identifier for the classification job that produced the finding. resourcesAffected.s3 */
    groupBy: 'resourcesAffected.s3Bucket.name' | 'type' | 'classificationDetails.jobId' | 'severity.description';
    /** The criteria to use to filter the query results. */
    findingCriteria?: FindingCriteria;
    /** The maximum number of items to include in each page of the response. */
    size?: number;
    /** The criteria to use to sort the query results. */
    sortCriteria?: FindingStatisticsSortCriteria;
}
export interface GetMemberInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetResourceProfileInput {
    /** The Amazon Resource Name (ARN) of the S3 bucket that the request applies to. */
    resourceArn: string;
}
export interface GetSensitiveDataOccurrencesInput {
    /** The unique identifier for the finding. */
    findingId: string;
}
export interface GetSensitiveDataOccurrencesAvailabilityInput {
    /** The unique identifier for the finding. */
    findingId: string;
}
export interface GetSensitivityInspectionTemplateInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
}
export interface GetUsageStatisticsInput {
    /** An array of objects, one for each condition to use to filter the query results. If you specify more than one condition, Amazon Macie uses an AND operator to join the conditions. */
    filterBy?: UsageStatisticsFilter[];
    /** The maximum number of items to include in each page of the response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** The criteria to use to sort the query results. */
    sortBy?: UsageStatisticsSortBy;
    /** The inclusive time period to query usage data for. Valid values are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, for the preceding 30 days. If you don't specify a value,  */
    timeRange?: 'MONTH_TO_DATE' | 'PAST_30_DAYS';
}
export interface GetUsageTotalsInput {
    /** The inclusive time period to retrieve the data for. Valid values are: MONTH_TO_DATE, for the current calendar month to date; and, PAST_30_DAYS, for the preceding 30 days. If you don't specify a value  */
    timeRange?: string;
}
export interface ListAllowListsInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListAutomatedDiscoveryAccountsInput {
    /** The Amazon Web Services account ID for each account, for as many as 50 accounts. To retrieve the status for multiple accounts, append the accountIds parameter and argument for each account, separated  */
    accountIds?: string[];
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListClassificationJobsInput {
    /** The criteria to use to filter the results. */
    filterCriteria?: ListJobsFilterCriteria;
    /** The maximum number of items to include in each page of the response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** The criteria to use to sort the results. */
    sortCriteria?: ListJobsSortCriteria;
}
export interface ListClassificationScopesInput {
    /** The name of the classification scope to retrieve the unique identifier for. */
    name?: string;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListCustomDataIdentifiersInput {
    /** The maximum number of items to include in each page of the response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListFindingsInput {
    /** The criteria to use to filter the results. */
    findingCriteria?: FindingCriteria;
    /** The maximum number of items to include in each page of the response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** The criteria to use to sort the results. */
    sortCriteria?: SortCriteria;
}
export interface ListFindingsFiltersInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListInvitationsInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListManagedDataIdentifiersInput {
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListMembersInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** Specifies which accounts to include in the response, based on the status of an account's relationship with the administrator account. By default, the response includes only current member accounts. To */
    onlyAssociated?: string;
}
export interface ListOrganizationAdminAccountsInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListResourceProfileArtifactsInput {
    /** The Amazon Resource Name (ARN) of the S3 bucket that the request applies to. */
    resourceArn: string;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListResourceProfileDetectionsInput {
    /** The Amazon Resource Name (ARN) of the S3 bucket that the request applies to. */
    resourceArn: string;
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListSensitivityInspectionTemplatesInput {
    /** The maximum number of items to include in each page of a paginated response. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
}
export interface PutClassificationExportConfigurationInput {
    /** The location to store data classification results in, and the encryption settings to use when storing results in that location. */
    configuration: ClassificationExportConfiguration;
}
export interface PutFindingsPublicationConfigurationInput {
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** The configuration settings that determine which findings to publish to Security Hub. */
    securityHubConfiguration?: SecurityHubConfiguration;
}
export interface SearchResourcesInput {
    /** The filter conditions that determine which S3 buckets to include or exclude from the query results. */
    bucketCriteria?: SearchResourcesBucketCriteria;
    /** The maximum number of items to include in each page of the response. The default value is 50. */
    maxResults?: number;
    /** The nextToken string that specifies which page of results to return in a paginated response. */
    nextToken?: string;
    /** The criteria to use to sort the results. */
    sortCriteria?: SearchResourcesSortCriteria;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** A map of key-value pairs that specifies the tags to associate with the resource. A resource can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum lengt */
    tags: Record<string, string>;
}
export interface TestCustomDataIdentifierInput {
    /** The regular expression (regex) that defines the pattern to match. The expression can contain as many as 512 characters. */
    regex: string;
    /** The sample text to inspect by using the custom data identifier. The text can contain as many as 1,000 characters. */
    sampleText: string;
    /** An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression contains any string in this array, Amazon Macie ignores it. T */
    ignoreWords?: string[];
    /** An array that lists specific character sequences (keywords), one of which must precede and be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many  */
    keywords?: string[];
    /** The maximum number of characters that can exist between the end of at least one complete character sequence specified by the keywords array and the end of the text that matches the regex pattern. If a */
    maximumMatchDistance?: number;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    resourceArn: string;
    /** One or more tags (keys) to remove from the resource. In an HTTP request to remove multiple tags, append the tagKeys parameter and argument for each tag to remove, separated by an ampersand (&amp;). */
    tagKeys: string[];
}
export interface UpdateAllowListInput {
    /** The criteria that specify the text or text pattern to ignore. The criteria can be the location and name of an S3 object that lists specific text to ignore (s3WordsList), or a regular expression that d */
    criteria: AllowListCriteria;
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** A custom name for the allow list. The name can contain as many as 128 characters. */
    name: string;
    /** A custom description of the allow list. The description can contain as many as 512 characters. */
    description?: string;
}
export interface UpdateAutomatedDiscoveryConfigurationInput {
    /** The new status of automated sensitive data discovery for the organization or account. Valid values are: ENABLED, start or resume all automated sensitive data discovery activities; and, DISABLED, stop  */
    status: 'ENABLED' | 'DISABLED';
    /** Specifies whether to automatically enable automated sensitive data discovery for accounts in the organization. Valid values are: ALL (default), enable it for all existing accounts and new member accou */
    autoEnableOrganizationMembers?: 'ALL' | 'NEW' | 'NONE';
}
export interface UpdateClassificationJobInput {
    /** The unique identifier for the classification job. */
    jobId: string;
    /** The new status for the job. Valid values are: CANCELLED - Stops the job permanently and cancels it. This value is valid only if the job's current status is IDLE, PAUSED, RUNNING, or USER_PAUSED. If yo */
    jobStatus: 'RUNNING' | 'PAUSED' | 'CANCELLED' | 'COMPLETE' | 'IDLE' | 'USER_PAUSED';
}
export interface UpdateClassificationScopeInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** The S3 buckets to add or remove from the exclusion list defined by the classification scope. */
    s3?: S3ClassificationScopeUpdate;
}
export interface UpdateFindingsFilterInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** The action to perform on findings that match the filter criteria (findingCriteria). Valid values are: ARCHIVE, suppress (automatically archive) the findings; and, NOOP, don't perform any action on the */
    action?: 'ARCHIVE' | 'NOOP';
    /** A unique, case-sensitive token that you provide to ensure the idempotency of the request. */
    clientToken?: string;
    /** A custom description of the filter. The description can contain as many as 512 characters. We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users */
    description?: string;
    /** The criteria to use to filter findings. */
    findingCriteria?: FindingCriteria;
    /** A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters. We strongly recommend that you avoid including any sensitive data in the name of a f */
    name?: string;
    /** The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are */
    position?: number;
}
export interface UpdateMacieSessionInput {
    /** Specifies how often to publish updates to policy findings for the account. This includes publishing updates to Security Hub and Amazon EventBridge (formerly Amazon CloudWatch Events). */
    findingPublishingFrequency?: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'SIX_HOURS';
    /** Specifies a new status for the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account. */
    status?: 'PAUSED' | 'ENABLED';
}
export interface UpdateMemberSessionInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** Specifies the new status for the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account. */
    status: 'PAUSED' | 'ENABLED';
}
export interface UpdateOrganizationConfigurationInput {
    /** Specifies whether to enable Amazon Macie automatically for accounts that are added to the organization in Organizations. */
    autoEnable: boolean;
}
export interface UpdateResourceProfileInput {
    /** The Amazon Resource Name (ARN) of the S3 bucket that the request applies to. */
    resourceArn: string;
    /** The new sensitivity score for the bucket. Valid values are: 100, assign the maximum score and apply the Sensitive label to the bucket; and, null (empty), assign a score that Amazon Macie calculates au */
    sensitivityScoreOverride?: number;
}
export interface UpdateResourceProfileDetectionsInput {
    /** The Amazon Resource Name (ARN) of the S3 bucket that the request applies to. */
    resourceArn: string;
    /** An array of objects, one for each custom data identifier or managed data identifier that detected a type of sensitive data to exclude from the bucket's score. To include all sensitive data types in th */
    suppressDataIdentifiers?: SuppressDataIdentifier[];
}
export interface UpdateRevealConfigurationInput {
    /** The KMS key to use to encrypt the sensitive data, and the status of the configuration for the Amazon Macie account. */
    configuration: RevealConfiguration;
    /** The access method and settings to use when retrieving the sensitive data. */
    retrievalConfiguration?: UpdateRetrievalConfiguration;
}
export interface UpdateSensitivityInspectionTemplateInput {
    /** The unique identifier for the Amazon Macie resource that the request applies to. */
    id: string;
    /** A custom description of the template. The description can contain as many as 200 characters. */
    description?: string;
    /** The managed data identifiers to explicitly exclude (not use) when performing automated sensitive data discovery. To exclude an allow list or custom data identifier that's currently included by the tem */
    excludes?: SensitivityInspectionTemplateExcludes;
    /** The allow lists, custom data identifiers, and managed data identifiers to explicitly include (use) when performing automated sensitive data discovery. */
    includes?: SensitivityInspectionTemplateIncludes;
}
/** Macie2 service binding for Step Functions SDK integrations. */
export declare class Macie2 {
    constructor();
    acceptInvitation<T>(params: AcceptInvitationInput): Promise<T>;
    batchGetCustomDataIdentifiers<T>(params: BatchGetCustomDataIdentifiersInput): Promise<T>;
    batchUpdateAutomatedDiscoveryAccounts<T>(params: BatchUpdateAutomatedDiscoveryAccountsInput): Promise<T>;
    createAllowList<T>(params: CreateAllowListInput): Promise<T>;
    createClassificationJob<T>(params: CreateClassificationJobInput): Promise<T>;
    createCustomDataIdentifier<T>(params: CreateCustomDataIdentifierInput): Promise<T>;
    createFindingsFilter<T>(params: CreateFindingsFilterInput): Promise<T>;
    createInvitations<T>(params: CreateInvitationsInput): Promise<T>;
    createMember<T>(params: CreateMemberInput): Promise<T>;
    createSampleFindings<T>(params: CreateSampleFindingsInput): Promise<T>;
    declineInvitations<T>(params: DeclineInvitationsInput): Promise<T>;
    deleteAllowList<T>(params: DeleteAllowListInput): Promise<T>;
    deleteCustomDataIdentifier<T>(params: DeleteCustomDataIdentifierInput): Promise<T>;
    deleteFindingsFilter<T>(params: DeleteFindingsFilterInput): Promise<T>;
    deleteInvitations<T>(params: DeleteInvitationsInput): Promise<T>;
    deleteMember<T>(params: DeleteMemberInput): Promise<T>;
    describeBuckets<T>(params: DescribeBucketsInput): Promise<T>;
    describeClassificationJob<T>(params: DescribeClassificationJobInput): Promise<T>;
    describeOrganizationConfiguration<T>(params: Record<string, any>): Promise<T>;
    disableMacie<T>(params: Record<string, any>): Promise<T>;
    disableOrganizationAdminAccount<T>(params: DisableOrganizationAdminAccountInput): Promise<T>;
    disassociateFromAdministratorAccount<T>(params: Record<string, any>): Promise<T>;
    disassociateFromMasterAccount<T>(params: Record<string, any>): Promise<T>;
    disassociateMember<T>(params: DisassociateMemberInput): Promise<T>;
    enableMacie<T>(params: EnableMacieInput): Promise<T>;
    enableOrganizationAdminAccount<T>(params: EnableOrganizationAdminAccountInput): Promise<T>;
    getAdministratorAccount<T>(params: Record<string, any>): Promise<T>;
    getAllowList<T>(params: GetAllowListInput): Promise<T>;
    getAutomatedDiscoveryConfiguration<T>(params: Record<string, any>): Promise<T>;
    getBucketStatistics<T>(params: GetBucketStatisticsInput): Promise<T>;
    getClassificationExportConfiguration<T>(params: Record<string, any>): Promise<T>;
    getClassificationScope<T>(params: GetClassificationScopeInput): Promise<T>;
    getCustomDataIdentifier<T>(params: GetCustomDataIdentifierInput): Promise<T>;
    getFindings<T>(params: GetFindingsInput): Promise<T>;
    getFindingsFilter<T>(params: GetFindingsFilterInput): Promise<T>;
    getFindingsPublicationConfiguration<T>(params: Record<string, any>): Promise<T>;
    getFindingStatistics<T>(params: GetFindingStatisticsInput): Promise<T>;
    getInvitationsCount<T>(params: Record<string, any>): Promise<T>;
    getMacieSession<T>(params: Record<string, any>): Promise<T>;
    getMasterAccount<T>(params: Record<string, any>): Promise<T>;
    getMember<T>(params: GetMemberInput): Promise<T>;
    getResourceProfile<T>(params: GetResourceProfileInput): Promise<T>;
    getRevealConfiguration<T>(params: Record<string, any>): Promise<T>;
    getSensitiveDataOccurrences<T>(params: GetSensitiveDataOccurrencesInput): Promise<T>;
    getSensitiveDataOccurrencesAvailability<T>(params: GetSensitiveDataOccurrencesAvailabilityInput): Promise<T>;
    getSensitivityInspectionTemplate<T>(params: GetSensitivityInspectionTemplateInput): Promise<T>;
    getUsageStatistics<T>(params: GetUsageStatisticsInput): Promise<T>;
    getUsageTotals<T>(params: GetUsageTotalsInput): Promise<T>;
    listAllowLists<T>(params: ListAllowListsInput): Promise<T>;
    listAutomatedDiscoveryAccounts<T>(params: ListAutomatedDiscoveryAccountsInput): Promise<T>;
    listClassificationJobs<T>(params: ListClassificationJobsInput): Promise<T>;
    listClassificationScopes<T>(params: ListClassificationScopesInput): Promise<T>;
    listCustomDataIdentifiers<T>(params: ListCustomDataIdentifiersInput): Promise<T>;
    listFindings<T>(params: ListFindingsInput): Promise<T>;
    listFindingsFilters<T>(params: ListFindingsFiltersInput): Promise<T>;
    listInvitations<T>(params: ListInvitationsInput): Promise<T>;
    listManagedDataIdentifiers<T>(params: ListManagedDataIdentifiersInput): Promise<T>;
    listMembers<T>(params: ListMembersInput): Promise<T>;
    listOrganizationAdminAccounts<T>(params: ListOrganizationAdminAccountsInput): Promise<T>;
    listResourceProfileArtifacts<T>(params: ListResourceProfileArtifactsInput): Promise<T>;
    listResourceProfileDetections<T>(params: ListResourceProfileDetectionsInput): Promise<T>;
    listSensitivityInspectionTemplates<T>(params: ListSensitivityInspectionTemplatesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putClassificationExportConfiguration<T>(params: PutClassificationExportConfigurationInput): Promise<T>;
    putFindingsPublicationConfiguration<T>(params: PutFindingsPublicationConfigurationInput): Promise<T>;
    searchResources<T>(params: SearchResourcesInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    testCustomDataIdentifier<T>(params: TestCustomDataIdentifierInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateAllowList<T>(params: UpdateAllowListInput): Promise<T>;
    updateAutomatedDiscoveryConfiguration<T>(params: UpdateAutomatedDiscoveryConfigurationInput): Promise<T>;
    updateClassificationJob<T>(params: UpdateClassificationJobInput): Promise<T>;
    updateClassificationScope<T>(params: UpdateClassificationScopeInput): Promise<T>;
    updateFindingsFilter<T>(params: UpdateFindingsFilterInput): Promise<T>;
    updateMacieSession<T>(params: UpdateMacieSessionInput): Promise<T>;
    updateMemberSession<T>(params: UpdateMemberSessionInput): Promise<T>;
    updateOrganizationConfiguration<T>(params: UpdateOrganizationConfigurationInput): Promise<T>;
    updateResourceProfile<T>(params: UpdateResourceProfileInput): Promise<T>;
    updateResourceProfileDetections<T>(params: UpdateResourceProfileDetectionsInput): Promise<T>;
    updateRevealConfiguration<T>(params: UpdateRevealConfigurationInput): Promise<T>;
    updateSensitivityInspectionTemplate<T>(params: UpdateSensitivityInspectionTemplateInput): Promise<T>;
}
//# sourceMappingURL=Macie2.d.ts.map